这其实就是层叠样式表CSS, Layer-list中<item>从最里层往外排列。
官方文档:
http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList
加阴影的方法:
http://www.aitinan.com/4004.html
http://blog.csdn.net/iceshow0428/article/details/9962957
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
layer-list
xmlns:android
=
"http://schemas.android.com/apk/res/android"
>
<!-- 阴影部分 -->
<!-- 个人觉得更形象的表达:top代表下边的阴影高度,left代表右边的阴影宽度。其实也就是相对应的offset,solid中的颜色是阴影的颜色,也可以设置角度等等 -->
<
item
android:left
=
"2dp"
android:top
=
"2dp"
>
<
shape
android:shape
=
"rectangle"
>
<
gradient
android:angle
=
"270"
android:endColor
=
"#0F000000"
android:startColor
=
"#0F000000"
/>
<
corners
android:bottomLeftRadius
=
"6dip"
android:bottomRightRadius
=
"6dip"
android:topLeftRadius
=
"6dip"
android:topRightRadius
=
"6dip"
/>
</
shape
>
</
item
>
<!-- 背景部分 -->
<!-- 形象的表达:bottom代表背景部分在上边缘超出阴影的高度,right代表背景部分在左边超出阴影的宽度(相对应的offset) -->
<
item
android:bottom
=
"3dp"
android:right
=
"3dp"
>
<
shape
android:shape
=
"rectangle"
>
<
gradient
android:angle
=
"270"
android:endColor
=
"#FFFFFF"
android:startColor
=
"#FFFFFF"
/>
<
corners
android:bottomLeftRadius
=
"6dip"
android:bottomRightRadius
=
"6dip"
android:topLeftRadius
=
"6dip"
android:topRightRadius
=
"6dip"
/>
</
shape
>
</
item
>
</
layer-list
>
还可以把三个和在一起
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"><layer-list>
<item android:bottom="8.0dip"><shape>
<solid android:color="#ffaaaaaa" />
</shape></item>
<item><shape>
<corners android:bottomLeftRadius="4.0dip" android:bottomRightRadius="4.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" />
<solid android:color="#ffaaaaaa" />
<padding android:bottom="1.0dip" android:left="1.0dip" android:right="1.0dip" android:top="0.0dip" />
</shape></item>
<item><shape>
<corners android:bottomLeftRadius="3.0dip" android:bottomRightRadius="3.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" />
<solid android:color="@color/setting_item_bgcolor_press" />
</shape></item>
</layer-list></item>
<item><layer-list>
<item android:bottom="8.0dip"><shape>
<solid android:color="#ffaaaaaa" />
</shape></item>
<item><shape>
<corners android:bottomLeftRadius="4.0dip" android:bottomRightRadius="4.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" />
<solid android:color="#ffaaaaaa" />
<padding android:bottom="1.0dip" android:left="1.0dip" android:right="1.0dip" android:top="0.0dip" />
</shape></item>
<item><shape>
<corners android:bottomLeftRadius="3.0dip" android:bottomRightRadius="3.0dip" android:topLeftRadius="1.0dip" android:topRightRadius="1.0dip" />
<solid android:color="@color/setting_item_bgcolor" />
</shape></item>
</layer-list></item>
</selector>