触摸ListView时,为什么CheckBox的背景颜色会发生变化?

时间:2012-05-18 09:07:55

标签: android checkbox android-listview background-color

我有一个自定义ListView,其中每个row.xml都是这样的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="bottom"
android:orientation="horizontal" >

<CheckBox
    android:id="@+id/star_listed"
    style="?android:attr/starStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:contentDescription="@string/question_img_cd"
    android:focusable="false"/>

<TextView
    android:id="@+id/listTitles"
    style="@style/ListTitles" />

一切正常,但当我按下ListView上的任意位置时,CheckBox的背景变为黑色(而不是保持白色)。它发生在我的TextView之前,直到我将其背景颜色设置为白色。

row.xml

如果我将'CheckBox'背景更改为白色,甚至是透明的,它就会消失。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我不确定但是可能会发生这种情况,因为你使用了具有透明背景的星形(?android:attr/starStyle)的默认样式属性(我不确定),你会看到底层的黑色行颜色。尝试为行中的父LinearLayout设置白色,而不是为行中的每个View设置颜色。

答案 1 :(得分:0)

您可以在透明(或)设置listview背景颜色的项目资源上设置样式xml文件的背景复选框!

欢迎!