StateListDrawable 资源

StateListDrawable 对象所显示的 Drawable 对象会随着目标组件的状态而改变。

例如给一个输入框指定失去焦点和获得焦点时的字体颜色:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 3     <!-- 获取焦点时的颜色 -->
 4     <item
 5         android:state_focused="true"
 6         android:color="@color/blue" />
 7     <!-- 失去焦点时的颜色 -->
 8     <item
 9         android:state_focused="false"
10         android:color="@color/red" />
11 </selector>

在布局文件中使用该 drable 资源:

1     <EditText
2         android:layout_width="match_parent"
3         android:layout_height="wrap_content"
4         android:textColor="@drawable/my_edit"/>

 其中 StateListDrawable 的 <item /> 支持的状态有:

属性 含义
android:state_active 处于激活状态
android:state_checkable 处于可勾选状态
android:state_checked 处于已勾选状态
android:state_enable 处于可用状态
android:state_first 处于开始状态
android:state_focused 处于获得焦点状态
android:state_last 处于结束状态
android:state_middle 处于中间状态
android:state_pressed 处于被按下状态
android:state_selected 处于被选中状态
android:state_window_focused 窗口得到焦点状态
posted @ 2014-12-19 16:41  leesea  阅读(238)  评论(0编辑  收藏  举报