目标:当item选中时,改变其背景图片。效果图如下:
直接在listview的xml文件中使用listselector:
1
2
3
4
5
6
7
8
9
|
<
ListView
android:id
=
"@+id/listTV"
android:layout_width
=
"349px"
android:layout_height
=
"fill_parent"
android:layout_marginLeft
=
"26px"
android:layout_marginTop
=
"20px"
android:listSelector
=
"@drawable/tvitembg"
android:focusable
=
"true"
>
</
ListView
>
|
然后另外定义,tvitembg.xml文件定义其背景图片:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?
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/bg"
/>
<!-- 触摸模式下单击时的背景图片 -->
<!--
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/pic3" />
-->
<!--选中时的图片背景 -->
<
item
android:state_selected
=
"true"
android:drawable
=
"@drawable/bg"
/>
<!--获得焦点时的图片背景 -->
<
item
android:state_focused
=
"true"
android:drawable
=
"@drawable/bg"
/>
</
selector
>
|
这样就OK啦~~