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

第六章、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背景






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值