博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Drawable的介绍
阅读量:2060 次
发布时间:2019-04-29

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

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

本系列的知识主要通过学习《Android开发艺术探索》

一、简介

Drawable有很多种,它们都表示一种图像概念,但它们又不全是图片,通过颜色也可以构造出各种各样的图像的效果。在实际开发中Drawable常被用来作为View的背景使用(在XML中,控件使用android:background=”@drawable/esources_id”属性来引用Drawable)。Drawable一般都用XML来定义,当然也可以用java代码来定义,不过比较复杂。

注意:Drawable的内部宽高可以通过getIntrinsicWidth和getIntrinsicHeight来获取。但不是所有的Drawable都有内部宽高,比如一张图片所形成的Drawable,它的内部宽高就是图片的宽高,但一个颜色所形成的Drawable,它就没有内部宽高的概念。同时,Drawable的内部宽高不等同于它的大小,一般来说,Drawable是没有大小概念的。当被用作View背景时,Drawable会被拉伸至View等大。

二、优点

  1. 使用简单,比自定义View的成本低
  2. 非图片类型的Drawable占用空间较小,对减小apk的大小很有帮助

三、分类

  1. BitmapDrawable
  2. NinePatchDrawable
  3. ShapeDrawable
  4. LayerDrawable
  5. StateListDrawable
  6. LevelListDrawable
  7. TransitionDrawable
  8. InsetDrawable
  9. ScaleDrawable
  10. ClipDrawable
  11. 自定义Drawable
你可能感兴趣的文章
GitHub 又又又多了一个新主题 —— Dimmed Dark 主题!
查看>>
cgroup 挂载失败是什么鬼???
查看>>
深入 kubernetes API 的源码实现
查看>>
真香!使用 Goland 网页版实现真正的云开发
查看>>
又超时了!Etcd分布式锁你用明白了吗?
查看>>
工程师应该怎么学习
查看>>
记一次 Kubernetes 机器内核问题排查
查看>>
记一次 Kubernetes 中严重的安全问题
查看>>
在业务系统中寻找技术含量
查看>>
拥抱云原生,基于 eBPF 技术实现 Serverless 节点访问 K8S Service
查看>>
有了 Docker 就不用再深入学习 MySQL 了?
查看>>
持续监控集群中的镜像漏洞
查看>>
终于可以像使用 Docker 一样丝滑地使用 Containerd 了!
查看>>
张磊大神的《深入剖析Kubernetes》终于出书啦!
查看>>
KubeSphere 团队(青云QingCloud) 全职开源职位等你加入!
查看>>
真棒!3 种方法限制 Pod 磁盘容量,瞬间豁然开朗
查看>>
高并发、高可用、高可靠微服务架构7大顶级设计思维模型
查看>>
如何使用 registry 存储的特性
查看>>
凉了,stress 无论如何也无法打满 CPU
查看>>
除了 k8s,留给 k 和 s 中间的数字不多了!
查看>>