您的位置:首页 > 移动开发 > Android开发

开发艺术探索-- Drawable

2016-12-24 23:46 211 查看
<<艺术探索读书笔记>>

第六章,Android的Drawable

层次关系

分类

自定义Drawable

Drawable
: 一种可以在
Canvas
上绘制的抽象概念.种类很多(
颜色和图片都是一个Drawable
).

简介

Drawable
常用于
View的背景
,一般通过
xml
来创建;

通过
getIntrinsicWidth
获取
Drawable内部宽
.

颜色没有内部宽高,
Drawable没有大小
,作为背景,会随图片拉升.

分类

BitmapDrawable:表示一张
图片
,对应
bitmap
标签.

ShapeDrawable: 通过
颜色
来构建,对应
shape
标签.

LayerDrawable: 一种层次化的
Drawable集合
,对应
layer-list
标签.

StateListDrawable: 是一个
Drawable集合
,对应
selector
标签.

LevelListDrawable: 每个
Drawable对应一个等级
,对应
level-list
标签.

TransitionDrawable: 用于实现两个
Drawable
之间的淡入淡出效果,对应
transition
标签.

InsetDrawable:
Drawable
内嵌到自己中,并流一定的间距,可用于
带有间距的divider
,对应
inset
标签

ScaleDrawable: 根据自己的level将指定
drawable缩放
,对应
scale
标签

ClipDrawable: 根据level
裁剪 drawable
,对应
clip
标签

更多参考:

drawable-resource

自定义Drawable

作为图像显示

作为
view
的背景

1
Drawable
工作原理很简单,核心就是
draw方法
,自定义
Drawable
无法在
xml
中使用.

2. 一般如果自定义
Drawable
作为图片使用,则需要重写
getIntrinsicWidth
..方法,会影响
View
wrap_content
布局.

3. 可以通过
getBounds
来获取
Drawable
实际区域大小,一般和
View尺寸
相同.

扩展阅读 :

之前的总结: Android Drawable体系
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息