美文网首页
11.1 Drawable

11.1 Drawable

作者: jadefly | 来源:发表于2018-08-22 18:27 被阅读0次

    Android中提供了13种的 Drawable

    分类

    Drawable资源分为两种:    

    1.普通图片资源,一般放在res/mipmap下

    2.编写的xml形式的drawable资源,放在res/drawable下

    命名:[a-z0-9_.](即:只能是字母数字及和.),小写,不能以数字开头


    1.ColorDrawable

    当我们将ColorDrawable绘制到Canvas(画布)上的时候, 会使用一种固定的颜色来填充Paint,然后在画布上绘制出一片单色区域。

    colorDrawable

    2.NiewPatchDrawable

    点九图,Android FrameWork在显示点九图时使用了高效的图形优化算法,实现图片拉伸的自适应。

    AS使用注意:

    1.必须放在drawable目录下;

    2.AS中.9图必须有黑线,否在编译不通过;

    了解

    3.ShapeDrawable

    定义基本的几何图形

    shape属性

    4.GradientDrawable

    一个具有渐变区域的Drawable,可以实现线性渐变,发散渐变和平铺渐变效果 

    渐变

    注:了解java代码中使用

            ShapeDrawable(ArcShape,OvalShape,PathShape,RectShape,RoundRectShape)对普通图形的包装;;

            Shader(SweepGradient,LinearGradient,BitmapShader)着色器,渐变在内;

            PathEffect(CornerPathEffect,DashPathEffect和DiscretePathEffect)路径特效,可制作复杂的图形边框;


    5.BitmapDrawable

    对Bitmap的一种封装,可以设置它包装的bitmap在BitmapDrawable区域中的绘制方式。

    使用

    6.InsetDrawable

    表示把一个Drawable嵌入到另外一个Drawable的内部,并且在内部留一些间距。

    padding:背景drawable不变,内容与容器有边距;

    insetDrawable:背景drawable与内容都形成与容器的边距;

    适用场景:当控件需要的背景比实际的边框小的时候比较适合使用InsetDrawable,eg:自定义dialog

    使用

    7.ClipDrawable

    针对自身进行裁剪复制显示。(进度条实现的原理,有效减少图片资源)

    使用

    8.RotateDrawable

    用来对Drawable进行旋转,通过setLevel来控制旋转,最大值10000。

    使用

    9.AnimationDrawable

    AnimationDrawable是用来实现Android中的帧动画

    使用

    10.LayerDrawable

    层图形对象,包含一个Drawable数组,然后按照数组对应的顺序来绘制,索引值最大的Drawable会被绘制在最上层。

    seekbar中 图片层叠

    11.TransitionDrawable

    过渡Drawable:LayerDrawable的一个子类,但只有两层,提供从一层到另一层透明度动画过渡效果。

    使用

    12.LevelListDrawable

    用于管理轮流替换的一组drawable,level-list中某项的android:maxLevel数值大于或者等于setLevel设置的数值,就会被加载(仅一项)。

    (一般使用时 setLevel的级别 等于maxLevel级,那级所引用的图片将显示)

    使用

    13.StateListDrawable

    状态列表选择器selector.xml会被解析成一个StateListDrawable对象,然后进行解析。     

    (只要有一个状态与之相配,就会应用,所以一般小范围放前面)

    使用

    相关文章

      网友评论

          本文标题:11.1 Drawable

          本文链接:https://www.haomeiwen.com/subject/mgxjiftx.html