Android StateListDrawable

来源:互联网 发布:西安旅游人数数据 编辑:程序博客网 时间:2024/06/06 05:11

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:提示应用的窗口是否被聚焦。

原创粉丝点击