listview改变选中行背景图片

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啦~~

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