目标:当item选中时,改变其背景图片。效果图如下:
直接在listview的xml文件中使用listselector:
Xml代码
<ListView
android:id="@+id/myListView"
android:layout_weight="1"
android:paddingTop="40dp"
android:layout_below="@id/myTextView"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@drawable/shortcut_bg_bar"
android:listSelector="@anim/tvitembg"
android:focusable="true"
/>
<ListView
android:id="@+id/myListView"
android:layout_weight="1"
android:paddingTop="40dp"
android:layout_below="@id/myTextView"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:background="@drawable/shortcut_bg_bar"
android:listSelector="@anim/tvitembg"
android:focusable="true"
/>
然后另外定义,tvitembg.xml文件定义其背景图片:
Xml代码
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 没有焦点时的背景图片 -->
<!--
<item android:state_window_focused="false"/> -->
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/shortcut_bar" />
<!-- 触摸模式下单击时的背景图片 -->
<!--
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/pic3" />
-->
<!--选中时的图片背景 -->
<item android:state_selected="true" android:drawable="@drawable/shortcut_bar" />
<!--获得焦点时的图片背景 -->
<item android:state_focused="true" android:drawable="@drawable/shortcut_bar" />
</selector>
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 没有焦点时的背景图片 -->
<!--
<item android:state_window_focused="false"/> -->
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/shortcut_bar" />
<!-- 触摸模式下单击时的背景图片 -->
<!--
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/pic3" />
-->
<!--选中时的图片背景 -->
<item android:state_selected="true" android:drawable="@drawable/shortcut_bar" />
<!--获得焦点时的图片背景 -->
<item android:state_focused="true" android:drawable="@drawable/shortcut_bar" />
</selector>
如此简单...