29 状态选择器

 1 <?xml version="1.0" encoding="utf-8"?>  
 2 <selector xmlns:android="http://schemas.android.com/apk/res/android">  
 3   
 4     <!-- 没有焦点时的背景图片 -->  
 5     <item android:drawable="@drawable/handle_normal" android:state_enabled="true" android:state_window_focused="false"/>  
 6     <!-- 触摸模式按下时的背景图片 -->  
 7     <item android:drawable="@drawable/handle_pressed" android:state_pressed="true"/>  
 8     <item android:drawable="@drawable/handle_focused" android:state_enabled="true" android:state_focused="true"/>  
 9     <item android:drawable="@drawable/handle_normal" android:state_enabled="true"/>  
10     <!-- 获得焦点时的图片背景 -->  
11     <item android:drawable="@drawable/handle_focused" android:state_focused="true"/>  
12   
13     <!--  
14     android:state_selected是选中  
15     android:state_focused是获得焦点  
16     android:state_pressed是点击  
17     android:state_enabled是设置是否响应事件,指所有事件  
18     -->  
19   
20 </selector>

使用xml文件:

1.方法一:在listview中配置Android:listSelector="@drawable/xxx
或者在listview的item中添加属性android:background="@drawable/xxx"

2.方法二:Drawable drawable = getResources().getDrawable(R.drawable.xxx);  
       ListView.setSelector(drawable);但是这样会出现列表有时候为黑的情况,需要加上:android:cacheColorHint="@android:color/transparent"使其透明。

原文地址:https://www.cnblogs.com/YyuTtian/p/5440465.html