一共有两种方法:1. 直接在布局里设置属性 2. 在drawable里写一个xml布局
1. 直接在布局里设置属性
android:elevation="@dimen/px_1"
2. 在drawable里写一个xml布局
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
//阴影部分 top代表下边,left代表右边......
<item android:top="1dp">
<shape android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#0F000000"
android:startColor="#0F000000" />
</shape>
</item>
//背景部分
<item
android:bottom="1.5dp">
<shape android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#f3f1ff"
android:startColor="#f3f1ff" />
</shape>
</item>
</layer-list>
这个是网上的正确答案
<!-- 阴影部分 -->
<!-- left代表右边的阴影宽度... 也就是相对应的offset,solid中的颜色是阴影的颜色,也可以设置角度等等 -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="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代表背景部分在左边超出阴影的宽度... -->
<item
android:left="3dp"
android:top="3dp"
android:right="3dp"
android:bottom="5dp">
<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>
if (position % 2 == 0) {
holder.rl_middle_write.setBackgroundResource(R.drawable.single_write_item)//单数
} else {
holder.rl_middle_write.setBackgroundResource(R.drawable.double_item)//双数
}
网友评论