Drawable的介绍

本文为博主原创文章,转载请注明出处:http://blog.csdn.net/czd3355/article/details/52624498
本系列的知识主要通过学习《Android开发艺术探索》

一、简介

Drawable有很多种,它们都表示一种图像概念,但它们又不全是图片,通过颜色也可以构造出各种各样的图像的效果。在实际开发中Drawable常被用来作为View的背景使用(在XML中,控件使用android:background=”@drawable/esources_id”属性来引用Drawable)。Drawable一般都用XML来定义,当然也可以用java代码来定义,不过比较复杂。

注意:Drawable的内部宽高可以通过getIntrinsicWidth和getIntrinsicHeight来获取。但不是所有的Drawable都有内部宽高,比如一张图片所形成的Drawable,它的内部宽高就是图片的宽高,但一个颜色所形成的Drawable,它就没有内部宽高的概念。同时,Drawable的内部宽高不等同于它的大小,一般来说,Drawable是没有大小概念的。当被用作View背景时,Drawable会被拉伸至View等大。

二、优点

  1. 使用简单,比自定义View的成本低
  2. 非图片类型的Drawable占用空间较小,对减小apk的大小很有帮助

三、分类

  1. BitmapDrawable
  2. NinePatchDrawable
  3. ShapeDrawable
  4. LayerDrawable
  5. StateListDrawable
  6. LevelListDrawable
  7. TransitionDrawable
  8. InsetDrawable
  9. ScaleDrawable
  10. ClipDrawable
  11. 自定义Drawable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值