Android中的Drawable(二)

【Android中的Drawable(二)】PS:本文系转载文章,阅读原文可读性会更好,文章末尾有原文链接
目录1、LayerDrawable2、StateListDrawable3、LevelListDrawable1、LayerDrawable本篇文章是基于Android中的Drawable(一)这篇文章来继续写的,LayerDrawable 对应的 xml 文件的标签是 layer-list,它是一种层次化的 Drawable 集合,通过将不同的 Drawable 放置在不同的层上面从而达到一种叠加后的效果,我们先写一个 demo,然后再对 layer-list 标签里面的属性或者子标签的属性进行说明。(1)在 drawable 文件夹下创建一个 my_layer_list.xml 文件; (2)Activity 的布局文件 activity_main.xml ; 运行结果如下所示;
Android中的Drawable(二)
文章图片

看我们的 demo,my_layer_list.xml 文件里面有一个 layer-list 标签,layer-list 标签下面会有 item 标签,一个 item 标签其实就是一个 Drawable;layer-list 是有层次的概念,后面的 item 会覆盖前面的 item,通过使用多个 item 可以实现层层叠加的效果。item 标签的属性也挺多的,我们列举一些我们开发中常用到的吧;1)android:top: 相对于 View 的顶部内部偏移量。2)android:bottom:相对于 View 的底部内部偏移量。3)android:left:相对于 View 的左边内部偏移量。4)android:right:相对于 View 的右边内部偏移量。5)android:drawable:引用一个已有的 Drawable。2、StateListDrawableStateListDrawable 在 xml 布局文件中对应的是 selector 标签,它是表示 Drawable 集合,每个 Drawable 都对应着 View 的一种状态,系统会根据 View 的状态来选择合适的 Drawable,StateListDrawable主要用于设置可单击的View的背景。为了更好的理解,我们先写一个 demo;(1)在 drawable 文件夹下新建一个 my_selector.xml 文件; (2)在 Activity 的布局文件 activity_main.xml 引用 my_selector.xml 文件;