如何在Android中自定义ListView选择

时间:2012-11-29 02:50:10

标签: android android-listview

我想自定义listView中项目的选择效果,但我不知道如何。

如果我在用户选择项目时使用不同的png更改选择项目背景,将会很有用。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您正在寻找的是选择器 在res中创建一个选择器xml,并将列表项的背景设置为选择器xml。 例如:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/selected" /> <item android:drawable="@drawable/normal" /> </selector>

另见: http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

答案 1 :(得分:1)

使用选择器:

<ListView android:id="@+id/list" 
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" 
      android:layout_gravity="center"
      android:divider="@null" 
      android:dividerHeight="0dip"
      android:listSelector="@drawable/list_selector" />

选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" 
        android:state_pressed="false"
        android:drawable="@drawable/yourdrawable" />
    <item android:state_focused="true" 
        android:state_pressed="true"
        android:drawable="@drawable/yourdrawable" />
    <item android:state_focused="false" 
        android:state_pressed="true"
        android:drawable="@drawable/yourdrawable" />
    <item android:drawable="@drawable/yourdrawable" />
</selector> 

这是good tutorial