Android Drawable Resource 学习笔记
2017-04-26 18:46
344 查看
Drawable Resource 平时开发的时候经常会用到,主要的用途就是给各个控件设置背景,用的最多的也就是 shape,selector 这二种。
今天在看《Android 开发艺术探索》的时候发现还有其他的几种 Drawable 类型,虽然平时很少用到,但还是先记下来。
一个Drawable资源是绘图中的一个普通概念,可以再屏幕上绘制出来。可以通过APIs中的 getDrawable(int) 方法检索出来,也可以在其他的XML资源中通过 Android:drawable 和 android:icon 等属性使用它。Android 中有多种不同类型的 drawable。
Layer List 实际上就是一个多图层的图片,上面的图层会覆盖下面的,最典型的使用场景就是绘制阴影背景或者某一条边框。具体的介绍和使用请看这里
典型使用场景就是给一个全屏的布局设置一个背景,但是这个背景不是充满全屏的。具体的介绍和使用请看这里
今天在看《Android 开发艺术探索》的时候发现还有其他的几种 Drawable 类型,虽然平时很少用到,但还是先记下来。
一个Drawable资源是绘图中的一个普通概念,可以再屏幕上绘制出来。可以通过APIs中的 getDrawable(int) 方法检索出来,也可以在其他的XML资源中通过 Android:drawable 和 android:icon 等属性使用它。Android 中有多种不同类型的 drawable。
Bitmap File
一个位图文件(.png,.jpg,或.gif), 生成一个BitmapDrawable对象.Nine-Patch File
就是一张可以基于自动适应内容大小而伸缩区域的png图片(.9.png), 生成一个NinePatchDrawable对象Layer List
这个Drawable用来管理一个其它多个drawable的数组.既然是一个数组,所以就不难理解索引值最大的元素将画在最高部. 生成一个 LayerDrawable对象。在Drawable文件中使用 layer-list 标签表示。Layer List 实际上就是一个多图层的图片,上面的图层会覆盖下面的,最典型的使用场景就是绘制阴影背景或者某一条边框。具体的介绍和使用请看这里
State List
这是一个xml文件用于不同的状态来引用不同的位图图形(比如,当一个Button控件按下状态要显示不同的图像).生成一个StateListDrawable对象。在Drawable文件中使用 selector 标签表示。具体的介绍和使用请看这里Level List
LevelListDrawable 对应于 level-list 标签,它表示一个 Drawable 集合,集合中的每个 Drawable 都有一个等级的概念,根据不同的等级,LevelListDrawable 会切换为对应的 Drawable。典型的例子就是电量的显示。具体的介绍和使用请看这里Transition Drawable
对应于 transition 标签,它用于实现两个 Drawable 之间的淡入淡出效果。比如给 Button 设置一个 transition Drawable 背景,点击后可以让它渐变为另一个背景颜色。具体的介绍和使用请看这里Inset Drawable
对应于 inset 标签,它可以将其他 Drawable 内嵌到自己当中,并可以在四周留出一定的间距。当一个 view 希望自己的背景比自己的实际区域小的时候,可以采用 InsetDrawable 来实现,同时采用 layer-list 也可以实现这种效果。典型使用场景就是给一个全屏的布局设置一个背景,但是这个背景不是充满全屏的。具体的介绍和使用请看这里
Clip Drawable
对应于 clip 标签,它可以根据自己当前的等级来裁剪另一个 Drawable 。具体的介绍和使用请看这里Scale Drawable
对应于 scale 标签,它可以根据自己的等级将指定的 Drawable 缩放到一定比例。具体的介绍和使用请看这里Shape Drawable
这是一种很常见的 Drawable ,可以理解为通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变效果的图形。具体的介绍和使用请看这里AnimationDrawable
用来创建动画。Color Drawable
ColorDrawable使用很简单,使用元素就可以定义一个ColorDrawable,然后再其他的地方使用。相关文章推荐
- Android Drawable Resource学习(二)、BitmapDrawable和Bitmap
- android - Drawable - NinePatchDrawable 学习笔记
- Android Drawable Resource学习(七)、TransitionDrawable
- Android Drawable绘图学习笔记
- Android Drawable绘图学习笔记
- Android animation学习笔记之view/drawable animation
- android - Drawable - ColorDrawable 学习笔记
- Android Drawable Resource学习(十一)、RotateDrawable
- Android Drawable Resource学习(六)、LevelListDrawable
- Android Drawable Resource学习(八)、InsetDrawable
- Android Drawable Resource学习(一)、Drawable Resource简介
- Android Drawable Resource学习(四)、LayerDrawable
- Android Drawable绘图学习笔记
- Android Drawable Resource学习(十二)、ShapeDrawable还是GradientDrawable?
- Android Drawable绘图学习笔记
- android - Drawable - TransitionDrawable 学习笔记
- Android Drawable Resource学习(五)、StateListDrawable
- android - Drawable - BitmapDrawable 学习笔记
- Android animation学习笔记之view/drawable animation
- Android animation学习笔记之view/drawable animation