这个让我发疯:
我有一个 ListView,我想在选择它时更改孩子的背景。列表项具有默认背景,但是当项目上有背景时,所选项目不会改变颜色...
让我想象一下:
当我为 ListView 的孩子设置背景颜色时,我得到了这个:
这是 ListView 中一个孩子的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/list_selector_normal">
<TextView android:id="@+id/title_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp" />
<TextView android:id="@+id/description_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
但是当我在主布局中为 listView 设置一些选择器时
android:listSelector="@drawable/list_selector"
选定的列表项不改变颜色...
但是当我从列表项(第一个代码块中的第 5 行)中删除背景时,选择器确实可以工作,但是我的背景消失了:
选择器 xml 代码:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true"
android:drawable="@drawable/list_selector_pressed" /> <!-- pressed -->
<item android:state_focused="true"
android:drawable="@drawable/list_selector_focussed" /> <!-- focused -->
<item android:state_hovered="true"
android:drawable="@color/blue" /> <!-- hovered -->
<item android:drawable="@color/blue" /> <!-- default -->
</selector>
有没有办法(应该有)我可以保留我的背景(第一张图片)并更改所选项目的颜色(第二张图片)?