首页 > 代码库 > StateListDrawable 资源

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     <EditText2         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窗口得到焦点状态

StateListDrawable 资源