ListView选择器不使用ListViewItem的背景集

Bry*_*yan 4 android android-listview

我有一个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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

ListView.Adapter我的列表中,我有将其视图背景设置为特定颜色的项目.我的问题是,为什么选择器在我的列表视图中显示所选颜色时根本不起作用?如果是这样,任何建议让我仍然设置视图的背景颜色.

rus*_*t0R 12

您可以android:drawSelectorOnTop="true"在布局.xml文件中使用ListView属性,以使列表视图在列表项而不是在列表项下绘制选择器.

如果你想知道项目的背景+列表选择器功能,你可以尝试另一种方法:使用透明列表选择器.并修改您的选择器,以用作列表项的背景.例如

<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>
Run Code Online (Sandbox Code Playgroud)