博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Drawable系列(四)——StateListDrawable的属性和使用介绍
阅读量:2059 次
发布时间:2019-04-29

本文共 1001 字,大约阅读时间需要 3 分钟。

本文为博主原创文章,转载请注明出处:

一、什么是StateListDrawable?作用是什么?

可能说StateListDrawable大家第一时间都不怎么熟悉,但如果换成selector标签我想大家就都认识了吧。是的,StateListDrawable就是对应于selector标签,也是表示一个Drawable集合,每个Drawable都对应View的一种状态。

那么它的用途是什么呢?——很简单,StateListDrawable主要用于设置可单击的View的背景,比如Button,ImageView。常和ShapeDrawable一起使用,关于ShapeDrawable可以参考

ok,话不多说,下面来看看它有什么可使用的属性

二、StateListDrawable的属性汇总

三、属性介绍

1.android:constantSize

该属性的默认值为false,表示StateListDrawable的大小会随View大小的改变而改变。true则相反

2.android:dither

是否开启抖动效果,开启该选项可以让图片在低质量的屏幕上仍然获得较好的显示效果,默认为true

3.android:variablePadding

StateListDrawable的padding表示是否随着其状态的改变而改变,true表示会,false表示StateListDrawable的padding是内部所有Drawable的padding的最大值。默认为false,并且也不建议开启此选项

4.item标签下各属性

item标签表示一个具体的Drawable,每个item都表示一种状态下该View的Drawable信息。

View常见状态信息如下所示:

image

四、效果图及代码演示

PS:要注意通过点击imageView和Button来改变颜色的写法是不一样的

效果图如下,具体点击效果可下载查看

这里写图片描述

代码如下:

main.xml

change_img_color.xml

change_but_color.xml

你可能感兴趣的文章
深入理解 tc ebpf 的 direct-action (da) 模式(2020)
查看>>
为容器时代设计的高级 eBPF 内核特性(FOSDEM, 2021)
查看>>
Loki系列文章
查看>>
字节跳动面试官问:微服务下如何保证分布式事务的最终一致性?
查看>>
使用 Prometheus 监控 WireGuard
查看>>
BPF 可移植性和 CO-RE(一次编译,到处运行)
查看>>
万字长文:彻底搞懂容器镜像构建
查看>>
GitHub 又又又多了一个新主题 —— Dimmed Dark 主题!
查看>>
cgroup 挂载失败是什么鬼???
查看>>
深入 kubernetes API 的源码实现
查看>>
真香!使用 Goland 网页版实现真正的云开发
查看>>
又超时了!Etcd分布式锁你用明白了吗?
查看>>
工程师应该怎么学习
查看>>
记一次 Kubernetes 机器内核问题排查
查看>>
记一次 Kubernetes 中严重的安全问题
查看>>
在业务系统中寻找技术含量
查看>>
拥抱云原生,基于 eBPF 技术实现 Serverless 节点访问 K8S Service
查看>>
有了 Docker 就不用再深入学习 MySQL 了?
查看>>
持续监控集群中的镜像漏洞
查看>>
终于可以像使用 Docker 一样丝滑地使用 Containerd 了!
查看>>