Android中Drawable概述
什么是Drawable
Drawable表示一种可以在canvas上进行绘制的抽象的概念,有很多种类,常见的是颜色和图片,当然,也不仅仅限于图片和颜色。
Drawable分类
书中讲述了常用的一些Drawable分类,并介绍了它们的属性和用法,这里简单的总结一下,具体的可以从网上找到很多资料
BitmapDrawable
显示一个图片,主要属性为android:src,可以设置反锯齿,抖动,拉伸等效果
ShapeDrawable
通过颜色来表示图形,可以定义颜色,形状等等,比如,矩形,椭圆,横线,圆环,可以设置填充颜色,描边,等属性
LayerDrawable
表示一种层次叠加的效果,有点像framelayout,内部可以设置多个item,下面的item会覆盖在上面的item上面,达到一种叠加的效果
StateListDrawable
对应于selector标签,一般用作view的背景,可以设置多种状态下的背景等,例如获取焦点,被点击时等
LevelListDrawable
内部的每一个item都有一个等级,我们可以使用其setimagelevel来切换这些drawable
TransitionDrawable
用于实现两个Drawable之间的淡入淡出效果,可以设置为View的背景
InsetDrawable
可以内嵌一个Drawable到内部,设置一些边距等等,如果内部内容大小比自身实际大小更小,可以使用它
ScaleDrawable
可以设置缩放比例,将内容缩放到一定的比例
ClipDrawable
可以通过设置剪裁方向来剪裁一个drawable,剪裁效果是通过android:clipOrientation 和 android:gravity两个属性来共同控制
自定义Drawable
大体上和自定义view比较相似,不过需要多覆盖几个方法