本文共 1001 字,大约阅读时间需要 3 分钟。
本文为博主原创文章,转载请注明出处:
可能说StateListDrawable大家第一时间都不怎么熟悉,但如果换成selector标签我想大家就都认识了吧。是的,StateListDrawable就是对应于selector标签,也是表示一个Drawable集合,每个Drawable都对应View的一种状态。
那么它的用途是什么呢?——很简单,StateListDrawable主要用于设置可单击的View的背景,比如Button,ImageView。常和ShapeDrawable一起使用,关于ShapeDrawable可以参考
ok,话不多说,下面来看看它有什么可使用的属性
该属性的默认值为false,表示StateListDrawable的大小会随View大小的改变而改变。true则相反
是否开启抖动效果,开启该选项可以让图片在低质量的屏幕上仍然获得较好的显示效果,默认为true
StateListDrawable的padding表示是否随着其状态的改变而改变,true表示会,false表示StateListDrawable的padding是内部所有Drawable的padding的最大值。默认为false,并且也不建议开启此选项
item标签表示一个具体的Drawable,每个item都表示一种状态下该View的Drawable信息。
View常见状态信息如下所示:
PS:要注意通过点击imageView和Button来改变颜色的写法是不一样的
效果图如下,具体点击效果可下载查看
代码如下:
main.xmlchange_img_color.xml
change_but_color.xml