【android】listview改变选中行背景图片

目标:当item选中时,改变其背景图片。效果图如下:

bg

直接在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啦~~

你可能感兴趣的:(【android】listview改变选中行背景图片)