背景颜色(listview?)

Bar*_*rak 1 android android-widget android-layout

在下图中是我的列表视图下方和我的按钮上方的灰色区域.我希望该区域具有与列表相同的背景颜色(黑色).

对我来说似乎很奇怪的是,在模拟器中它是黑色的,但在我的手机上,它是灰色的.

在此输入图像描述

我已经尝试设置布局,列表和cachecolorhint的背景颜色......无论如何,它都保持灰色.

目前的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:background="#000000" >
    <TextView
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="27dp"
        android:layout_alignParentTop="true"
        android:layout_gravity="center|center_vertical"
        android:gravity="center"
        android:textColor="#00ccff"
        android:textSize="20dp" />
     <TextView
        android:id="@+id/horizontalline"
        android:layout_width="match_parent"
        android:layout_height="2dip"
        android:layout_below="@id/header"
        android:background="#8b8b8b"
        android:paddingBottom="2dip"
        android:paddingTop="2dip" />
    <Button
        android:id="@+id/AddButton"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center"
        android:gravity="center|top"
        android:textSize="12dp" >
    </Button>
    <ListView
        android:id="@id/android:list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_below="@id/horizontalline"
        android:background="#000000" 
        android:cacheColorHint="#000000" 
        android:layout_above="@id/AddButton"
        android:drawSelectorOnTop="false"
        android:listSelector="@android:color/transparent" />
    <TextView
        android:id="@android:id/empty"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/header"
        android:gravity="center" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

编辑

要清楚,当列表填满屏幕时,我对列表没有任何问题,只有少数几个项目没有填满屏幕我得到这个灰色背景...我更喜欢它是相同的黑色背景列表.

tde*_*aux 8

看看你的截图,看起来你的手机是摩托罗拉运行2.3+(Droid 3?).我在一些摩托罗拉手机上看过同样的"功能".

在Motorola博客上查看此帖子以获得完整的答案.基本上,添加您的ListViewXML属性android:overScrollFooter="#000000".

它仅适用于2.3+设备,所以你宁愿把它放在一个样式中res/values-v10/styles.xml:

<style name="MyListView" parent="@android:style/Widget.ListView">
    <item name="android:listSelector">@drawable/list_selector</item>
    <item name="android:overScrollFooter">#000000</item>
</style>
Run Code Online (Sandbox Code Playgroud)

然后将此添加到您的theme.xml:

<style name="MyTheme" parent="android:Theme">
    <item name="android:windowBackground">@null</item>
    <item name="android:listViewStyle">@style/MyListView</item>
</style>
Run Code Online (Sandbox Code Playgroud)

最后,将自定义主题应用于AndroidManifest中的活动:

<activity android:name="com.listtest.MainActivity"
    android:label="@string/app_name" 
    android:theme="@style/MyTheme">
Run Code Online (Sandbox Code Playgroud)

我猜您可以直接将样式应用到列表中,而不需要通过主题,但只要您将其应用于Manifest中的所有活动,此解决方案将适用于您应用中的所有ListView.