Android中的Selector的使用总结

Android中的Selector主要是用来改变ListView和Button控件等其他空的默认背景,其使用方法可以如下所示:

1、首先在res目录下drawable文件夹,新建一个comm_button_bg.xml的xml文件。

2、编辑comm_button_bg.xml文件,其代码结构如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
<!-- 触摸模式下单击时的背景图片-->  
<item android:drawable="@drawable/btn_bg_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/btn_bg_normal" android:state_pressed="false"></item> <!-- 非触摸模式下获得焦点并单击时的背景图片 -->
</selector>

3、可以根据项目需求自定义自己想要的样式,如下所示:

设置选择按钮按下以及不按下的  文字颜色变化效果  textColor
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <!--设置点击的时候,控件的文本颜色--->
    <item android:color="@android:color/white" android:state_pressed="true"></item>
    <item android:color="@android:color/black" android:state_pressed="false"></item>
</selector>

类似的属性还可以为:

android:state_selected选中

android:state_focused获得焦点
android:state_pressed点击
android:state_enabled设置是否响应事件,指所有事件

4、在布局文件中 使用comm_button_bg.xml定义好的样式

 <Button
        android:background="@drawable/common_button_bg"    <!----使用自定义好的样式-----> 
        android:text="测试"
        android:textColor="@drawable/common_button_textcolor_selector"
        android:textSize="20sp" />
原文地址:https://www.cnblogs.com/luoyangcn/p/4984725.html