Android之drawable state各个属性详解

Posted 山高我为峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android之drawable state各个属性详解相关的知识,希望对你有一定的参考价值。

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@color/white" />
    <item android:state_checked="true" android:color="@color/white" />
    <item android:color="@color/black" />
</selector>

官方对各个state属性的介绍如下:

XML Attributes
Attribute Name Related Method Description
android:constantSize   If true, the drawable‘s reported internal size will remain constant as the state changes; the size is the maximum of all of the states. 
android:state_activated   State value for StateListDrawable, set when a view or its parent has been "activated" meaning the user has currently marked it as being of interest. 
android:state_active   State value for StateListDrawable
android:state_checkable   State identifier indicating that the object may display a check mark. 
android:state_checked   State identifier indicating that the object is currently checked. 
android:state_enabled   State value for StateListDrawable, set when a view is enabled. 
android:state_first   State value for StateListDrawable
android:state_focused   State value for StateListDrawable, set when a view has input focus. 
android:state_last   State value for StateListDrawable
android:state_middle   State value for StateListDrawable
android:state_pressed   State value for StateListDrawable, set when the user is pressing down in a view. 
android:state_selected   State value for StateListDrawable, set when a view (or one of its parents) is currently selected. 
android:state_single   State value for StateListDrawable
android:state_window_focused   State value for StateListDrawable, set when a view‘s window has input focus. 
android:variablePadding   If true, allows the drawable‘s padding to change based on the current state that is selected. 
android:visible   Indicates whether the drawable should be initially visible. 

 

注意:如果有多个item,那么程序将自动从上到下进行匹配,最先匹配的将得到应用。(不是通过最佳匹配)
如果一个item没有任何的状态说明,那么它将可以被任何一个状态匹配。

 

以上是关于Android之drawable state各个属性详解的主要内容,如果未能解决你的问题,请参考以下文章

radioButton drawable selector

android:state_enabled有啥作用

玩转Android之Drawable的使用

Drawable子类之——StateListDrawable (选择器)

Android点击按钮后改变颜色

添加Thumb / Track drawable后,开关停止显示