<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>
在布局文件中的颜色属性引用即可