首页 > 系统 > Android > 正文

Android 开发艺术探索 读书笔记6

2019-11-07 23:08:03
字体:
来源:转载
供稿:网友

第六章、Drawable

一,Drawable是一个抽象类,他是所有Drawable对象的基类,

部宽getInstrinsicWidth,内部高个体IntrinsicHeight

二,分类

 1.BitMapDrawable 一张图片

 2.ShapeDrawable 通过颜色来构造图象

标签<shape/>  android:shape  表示图形的形状,rectangle矩形、oval椭圆、line横线和ring圆环 默认矩形。line和ring通过<stroke>标签指定宽度和颜色信息。

<corners>  表示shape的四个角的角度,只适用于矩形,单位px

   

<gradient> 

<solid> 纯色填充  与gradient相对。通过android:color即可制定shape中的颜色。

<padding> 表示空白,包含他的View的空白。android:left|top|right|bottom

<size>  shape的固有大小  android:width|height

3.LayerDrawable: 对应标签<layer-list>表示一种层次化的Drawable集合,通过将不同的Drawable放置在不同层的上面从而达到一种叠加的效果

4.StateListDrawable 对应标签<selector>  表示Drawable集合,每个Drawable都对应着View的一种状态,这样系统就会根据View的状态来选择合适的Drawable,主要同于设置可单击的View的背景,最常见的Button。

 android:constanrSize:固有大小是否随状态(每一种状态对应一个Drawable)而改变。true:不变。false:改变(默认)

android:dither  是否打开抖动效果,开启可以让图片在低分辨率的屏幕上仍然获得较好的显示效果,默认true

android:variablePadding  padding是否谁状态改变  建议false(默认)

5.LevelListDrawable 对应标签:<level-list>表示一个Drawable集合,集合中每个Drawable都有一个等级

6.TransitionDrawable 对应标签<transition> 用于实现两个Drawable之间的淡入淡出效果。

使用方法:

7,InsertDrawable对应标签<insert> 他可以将其他Drawable内嵌到自己当中,并且可以在四周留出一定的间距。当一个View希望自己的背景比自己的实际区域小时。

8.ScaleDrawable对应标签<scale> 可以根据自己的等级level将指定的Drawable缩放到一定比例。

等级0表示ScaleDrawable不可见,默认值0.

9.ClipDrawable对应标签<clip>,他可以根据自己当前的等级来裁剪另一个Drawable,裁剪方向android:clipOrientation和android:gravity共同决定等级越大裁剪区域越小 最大10000  p277

三,自定义Drawable

Drawable使用:1,作为ImageView中的图像来显示,2.作为View背景


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表