使用layer-list 可以将多个 drawable 按照顺序层叠在一起显示。
该图通过使用一个红色背景层和一个白色背景层实现,白色背景层在通过设置 android:bottom
向上偏移,显示图底部红色背景层。 偏移属性其实和 Margin
一个作用。
代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<layer-list>
<item android:drawable="@android:color/holo_red_dark" />
<item android:bottom="4dp" android:drawable="@android:color/white" />
</layer-list>
</item>
<item android:state_checked="false">
<layer-list>
<item android:drawable="@android:color/holo_red_dark" />
<item android:bottom="2dp" 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>
学习自 : Keegan小钢 (http://keeganlee.me/post/android/20150909)
原文:https://www.cnblogs.com/-Tiger/p/9363915.html