概述
1.简单介绍
- android.graphics.drawable.Drawable是一个可以在canvas上绘制的抽象概念;
- 通常用XML来定义,也可以用代码来创建(更复杂);
- 特点:比View成本低,非图片类型的Drawable占用空间小
/**
* A Drawable is a general abstraction for "something that can be drawn." Most
* often you will deal with Drawable as the type of resource retrieved for
* drawing things to the screen; the Drawable class provides a generic API for
* dealing with an underlying visual resource that may take a variety of forms.
* Unlike a {@link android.view.View}, a Drawable does not have any facility to
* receive events or otherwise interact with the user.
* **/
public abstract class Drawable {
...
}
2.常见子类
- ShapeDrawable
特殊形状,圆角矩形等等常见背景,常用xml来实现
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_task_item_bg" />
<stroke
android:color="@color/color_task_item_bg" />
<corners android:radius="40px" />
</shape>
- LayerDrawable
进度条背景,xml应用较为广泛
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/bg_pb_background"></item>
<item android:id="@android:id/progress">
<scale
android:drawable="@drawable/bg_pb_progress"
android:scaleWidth="100%" />
</item>
</layer-list>
- BitmapDrawable
用xml的形式来定义Image的各自属性,最后可以在布局文件中引用
3.自定义Drawable
自定义Drawable无法在xml中使用,所以其使用场景较少。关键点也是重写draw(canvas)方法,可以参考BitmapDrawable等具体子类等实现。
最后
以上就是拼搏冬天为你收集整理的6.关于Drawable1.简单介绍2.常见子类3.自定义Drawable的全部内容,希望文章能够帮你解决6.关于Drawable1.简单介绍2.常见子类3.自定义Drawable所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复