android selector 用法

<selector> 
        必须。必须是根元素。包含一个或多个<item>元素。 
         Attributes: 
            xmlns:android 
                  String,必须。定义XML的命名空间,必须是 
                   “http://schemas.android.com/apk/res/android”. 
   <item> 
          android:state_pressed 
               Boolean。“true”表示按下状态使用(例如按钮按下);“false” 
               表示非按下状态使用。 
           android:state_focused 
               Boolean。“true”表示聚焦状态使用(例如使用滚动球/D-pad 
               聚焦Button);“false”表示非聚焦状态使用。 
           android:state_selected 
               Boolean。“true”表示选中状态使用(例如Tab 打开);“false” 
               表示非选中状态使用。 
           android:state_checkable 
               Boolean。“true”表示可勾选状态时使用;“false”表示非可 
               勾选状态使用。(只对能切换可勾选—非可勾选的构件有用。) 
           android:state_checked 
                 Boolean。“true”表示勾选状态使用;“false”表示非勾选 
状态使用。 
           android:state_enabled 
               Boolean。“true”表示可用状态使用(能接收触摸/点击事件); 
               “false”表示不可用状态使用。 
           android:window_focused 
              Boolean。“true”表示应用程序窗口有焦点时使用(应用程序 
              在前台);“false”表示无焦点时使用(例如Notification栏拉 
              下或对话框显示)。
     注意:记住一点,StateList中第一个匹配当前状态的item会被使用。因此,如果第一个item没
     有任何状态特性的话,那么它将每次都被使用,这也是为什么默认的值必须总是在最后(如下面的

例:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 指定获得焦点时的颜色 -->
    <item android:state_focused="true"
        android:color="#f44"/>
    <!-- 指定失去焦点时的颜色 -->
    <item android:state_focused="false"
        android:color="#eee"/>
</selector>

在布局文件中的颜色属性引用即可

原文地址:https://www.cnblogs.com/songyao/p/4080490.html