选中后,在列表视图中更改列表项的背景颜色

时间:2014-11-16 13:59:41

标签: android listview

如何选择列表视图中列表项的背景颜色。

在res / drawable文件夹中,我创建了listselector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

  <!-- Selected --> 
  <item 
    android:state_focused="true" 
    android:state_selected="false" 
    android:drawable="@drawable/focused"/> 

  <!-- Pressed -->
  <item 
    android:state_selected="true" 
    android:state_focused="false"
    android:drawable="@drawable/selected" /> 
</selector>

然后在values / colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <drawable name="focused">#ff5500</drawable>
    <drawable name="selected">#FF00FF</drawable>

</resources>

这是listview.xml

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
           android:layout_below="@+id/textView6"
        android:layout_height="75dp"
          android:textColor="#FFFFFF"
        android:layout_marginBottom="0dp"
        android:layout_marginLeft="33dp"
         >
    </ListView>

</LinearLayout>

但是在选择时它不会改变列表项的背景颜色......

2 个答案:

答案 0 :(得分:2)

您的ListView与其选择器之间没有任何关联。您需要将以下代码行添加到listview.xml

android:listSelector=“@drawable/listselector"

我希望这会有所帮助。

答案 1 :(得分:0)

here。虽然它较旧,但在点击项目上有自定义颜色的实现。我认为它必须与android:drawable做一些事情。尝试使用

android:color="@color/yourcolor"

将你的绘图用于颜色:

<color name="focused">#ff5500</color>
<color name="selected">#FF00FF</color>

它位于/ res / values / colors文件夹中。