Android样式:layer-list(层叠表)

使用layer-list可以将多个drawable按照顺序层叠在一起显示

layer-list的item可以通过下面四个属性设置偏移量:

android:top 顶部的偏移量

android:bottom 底部的偏移量

android:left 左边的偏移量

android:right 右边的偏移量


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 第一种加载方式 -->
    <!--<item android:drawable="@drawable/bg_tab_selected" android:state_checked="true" />-->
    <!-- 第二种加载方式 -->
    <item android:state_checked="true">
        <layer-list>
            <!-- 红色背景 -->
            <item>
                <color android:color="#E4007F" />
            </item>
            <!-- 白色背景 -->
            <item android:bottom="4dp" android:drawable="@android:color/white" />
        </layer-list>
    </item>
    <item>
        <layer-list>
            <!-- 红色背景 -->
            <item>
                <color android:color="#E4007F" />
            </item>
            <!-- 白色背景 -->
            <item android:bottom="1dp" android:drawable="@android:color/white" />
        </layer-list>
    </item>
</selector>

图片发自简书App

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 灰色阴影 -->

    <item

        android:left="2dp"

        android:top="4dp">

        <shape>

            <solid android:color="@android:color/darker_gray" />

            <corners android:radius="10dp" />

        </shape>

    </item>

    <!-- 白色前景 -->

    <item

        android:bottom="4dp"

        android:right="2dp">

        <shape>

            <solid android:color="#FFFFFF" />

            <corners android:radius="10dp" />

        </shape>

    </item>

</layer-list>

图片发自简书App

另外,关于item的用法,也做下总结:


根节点不同时,可设置的属性是会不同的,比如selector下,可以设置一些状态属性,而在layer-list下,可以设置偏移量;


就算父节点同样是selector,放在drawable目录和放在color目录下可用的属性也会不同,比如drawable目录下可用的属性为android:drawable,在color目录下可用的属性为android:color;


item的子节点可以为任何类型的drawable类标签,除了上面例子中的shape、color、layer-list,也可以是selector,还有其他没讲过的bitmap、clip、scale、inset、transition、rotate、animated-rotate、lever-list等等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,918评论 25 709
  • 概述 今天我们来探究一下android的样式。其实,几乎所有的控件都可以使用 background属性去引用自定义...
    CokeNello阅读 10,332评论 1 19
  • 记得刚开始学Android时,看着自己完全用系统控件写出的不忍直视的界面,对于如何做出不一样的按钮,让它们在不同状...
    biloba阅读 5,697评论 1 11
  • 最近,看了徐东和雷雷的对打,觉得感触颇深,用手机记下。 一是迎接现代训练技法。不要挖掘已然老去的貌似唬人...
    黄志伟_480d阅读 1,378评论 0 0
  • 我们的心里都住着一个纯粹有趣的灵魂,那是我们心里的小小艺术家,它承载着我们对于这个世界许许多多的美妙想象,看一朵花...
    星柠星语阅读 1,930评论 0 1