使用layer-list可以將多個drawable按照順序?qū)盈B在一起顯示
layer-list的item可以通過下面四個屬性設(shè)置偏移量:
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>
<?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>
另外里逆,關(guān)于item的用法懂鸵,也做下總結(jié):
根節(jié)點不同時翻屈,可設(shè)置的屬性是會不同的照雁,比如selector下就缆,可以設(shè)置一些狀態(tài)屬性,而在layer-list下州叠,可以設(shè)置偏移量后众;
就算父節(jié)點同樣是selector,放在drawable目錄和放在color目錄下可用的屬性也會不同祟昭,比如drawable目錄下可用的屬性為android:drawable缕坎,在color目錄下可用的屬性為android:color;
item的子節(jié)點可以為任何類型的drawable類標(biāo)簽从橘,除了上面例子中的shape念赶、color、layer-list恰力,也可以是selector叉谜,還有其他沒講過的bitmap、clip踩萎、scale停局、inset、transition香府、rotate董栽、animated-rotate、lever-list等等企孩。