StateListDrawable对应的是< selector >标签,它也是Drawable的一个集合,每一个Drawable对应着View的一种状态,系统根据View的状态来选择合适的Drawable。
下面介绍两个标签及他们的属性
一、selector标签
下面是它的几个属性
android:constantSize
android:dither
android:variablePadding
1、constantSize:Drawable的固定大小是否不随着其状态的改变而改变,如果不同的Drawable有不同的大小,那么随着Drawable的改变,固定大小会改变,如果此参数为true则不会改变,而是固定为几个Drawable大小的最大值,如果为false则随着改变
2、dither:是否开启抖动效果,开启此属性可以获得更好的效果
3、variablePadding:padding是否随着Drawable的改变而改变,每个Drawable可能会有不同的padding,Drawable改变时padding也会改变,如果此属性为true则会改变,为false则不会改变,固定为几个Drawable中padding最大值
二、item标签
android:drawable
android:state_pressed
android:state_focused
android:state_selected
android:state_checkable
android:state_checked
android:state_enabled
android:state_activited
android:state_hovered
android:state_window_focused
1、drawable:此item绑定的drawable
2、state_pressed:是否按下,true表示已按下,false表示未按下
3、state_focused:是否获得焦点,true表示获得了焦点,false表示未获得焦点
4、state_selected:是否选择了该view,true表示选择了该view,false表示未选择该view
5、state_checkable:是否能被check,主要用于CheckBox这样的View
6、state_checked:是否被check,主要用于CheckBox这样的View
7、state_enabled:表示控件为启用或禁用状态
8、state_activited:表示控件是否被激活,比如一个平板界面左侧是文章列表,右侧是文章全部内容,左侧列表元件中表示右侧正被展示的文章应该被激活,其他元件就没有被激活。
9、state_hovered:表示当前鼠标是否悬浮在控件上看起来和选中状态一样。
10、state_window_focused:提示应用的窗口是否被聚焦。