我有一个带自定义背景的列表框。它在两侧显示一条薄白线,黑色背景。在所有测试手机上都很好用(Galaxy Captivate,Vibrant,Nexus 1,G Tablet,Archos 32,Droid)。我刚刚拿到了一个Droid 3来测试,在这个手机上,当没有项目时列表视图的背景是灰色的。列表项具有正确的黑色背景。
这里是包含列表视图的布局。列表视图上方和下方有白色背景文本框,列表视图的背景是可绘制的(我知道它被称为三边框,但实际上只是两个边框)。
<RelativeLayout
android:layout_below="@id/divider01"
android:layout_above="@id/save_current_button"
android:id="@+id/profile_middle_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="3dip"
android:orientation="vertical">
<TextView android:id="@+id/user_profile_row"
android:text="@string/user_profiles_label"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@android:color/black"
android:background="@drawable/roundedtop"/>
<TextView android:id="@+id/current_profile_name"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#2B497B"
android:background="@drawable/roundedbottom"/>
<ListView android:id="@id/android:list"
android:layout_below="@id/user_profile_row"
android:layout_above="@id/current_profile_name"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="3dip"
android:paddingRight="3dip"
android:drawSelectorOnTop="false"
android:background="@drawable/three_side_border"
android:cacheColorHint="#ffffffff"/>
</RelativeLayout>
这里是drawable - 这应该会强制将背景设置为黑色。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle">
<solid android:color="#FFFFFFFF" />
</shape>
</item>
<item android:left="3dp" android:right="3dp">
<shape android:shape="rectangle">
<solid android:color="#FF000000" />
</shape>
</item>
</layer-list>
我注意到在我的列表项xml中,我的颜色没有指定alpha层,所以我尝试从我的可绘制对象中去掉前导的FF,但效果却是一样的。
有人知道我可以在哪里寻找解决方法吗?这在一个好手机上看起来非常丑陋。
谢谢, Greg