我有一个ListView
,其选择器设置为纯色。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:id="@+id/assignmentSelectedItem" />
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/assignmentsListView"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:listSelector="@drawable/assignment_list_selector" />
</LinearLayout>
assignment_list_selector.xml -
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@android:color/white" />
<item android:drawable="@android:color/transparent"/>
</selector>
在我的ListView.Adapter
列表中,我的视图背景设置为特定颜色。我的问题是,为什么选择器在我的列表视图中显示所选颜色时根本不起作用?如果是这样,任何建议让我仍然设置视图的背景颜色。
答案 0 :(得分:12)
您可以在布局.xml文件中使用ListView属性android:drawSelectorOnTop="true"
,以便创建列表视图以在列表项上绘制选择器而不是在它们下面。
如果你想拥有项目的背景+列表选择器功能,可以尝试另一种方法:使用透明列表选择器。并修改您的选择器,以用作列表项的背景。例如
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@android:color/white" />
<item android:drawable="@android:color/your_list_item_color"/>
</selector>