1. Drawable 概述
- Drawable 表示的是一种可以在 Canvas 上进行绘制的抽象的图像概念,它的种类很多,最常见的颜色和图片都可以是一个 Drawable
- Drawable 的优点:使用简单,比自定义 View 的成本要低;非图片类型的 Drawable 占用空间较小,对减小 apk 大小很有帮助
- 在实际开发中,Drawable 常被用来作为 View 的背景使用,一般都通过 XML 来定义
- Drawable 是一个抽象类,是所有 Drawable 对象的基类,每个具体的 Drawable 都是它的子类
2. Drawable 内部宽高
- Drawable 的内部宽高这个参数比较重要,通过
getIntrinsicWidth()
和getIntrinsicHeight()
这两个方法可以分别获取到 - 并不是所有的 Drawable 都有内部宽高,比如一张图片所形成的 Drawable,它的内部宽高就是图片的宽高,但是一个颜色所形成的 Drawable 就没有内部宽高的概念
- Drawable 的内部宽高不等同于它的大小,一般来说 Drawable 是没有大小概念的,当用作 View 的背景时,Drawable 会被拉伸至 View 的同等大小