大家好,今天和大家分享一个关于Android里用XML定义一个带阴影的矩形区域。而非采用图片的方式
先说明下原理。用遮盖的方式实现
共分为二层,前景层和背景层
前景层:设置一个空白的矩形区域
背景层:一个从白到黑再到白的过度颜色矩形填充
最后前景层覆盖到背景层上,并设置下前景层的padding让背景层只露出渐变后边缘
效果如下,当然白区域根据具体需要变宽。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- layout background -->
<item>
<!-- show rectangle area -->
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:startColor="#FFFFFF"
android:centerColor="#000000"
android:endColor="#FFFFFF"/>
</shape>
</item>
<!-- layout foreground -->
<item
android:bottom="5px"
android:top="5px">
<!-- show rectangle area -->
<shape android:shape="rectangle" >
<solid android:color="#FFFFFF" />
</shape>
</item>
</layer-list>
并将此代码保存为shadow.xml 放置到res/drawable下,做为其他组建的资源引用便可。