您的位置:首页 > 移动开发 > Android开发

为圆角矩形卡片底部添加阴影效果

2017-07-28 08:07 260 查看

三步走

1.先上效果
2.再上代码
3.最后原理


1.效果



2.代码

不需要渐变颜色的阴影,直接使用solid填充颜色既可


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 底部阴影层,向右向下各便宜2dp -->
<item>
<shape android:shape="rectangle" >
<solid android:color="#90000000" />
<corners android:radius="@dimen/home_page_round_rectangle_card_bg_radius" />
</shape>
</item>

<!-- 阴影上边的层,向上便宜2dp漏出下层的部分阴影层 -->
<item android:bottom="2dp">
<shape android:shape="rectangle" >
<solid android:color="@color/home_page_card_title_business_mode" />
<corners android:radius="@dimen/home_page_round_rectangle_card_bg_radius" />
</shape>
</item>

</layer-list>


需要渐变颜色的阴影,使用gradient代替solid填充颜色


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 底部阴影层,向右向下各便宜2dp -->
<item>
<shape android:shape="rectangle" >
<gradient
android:angle="90"
android:type="linear"
android:startColor="#22a9a09d"
android:centerColor="#bbbbbb"
android:endColor="#90000000"/>
<corners android:radius="@dimen/home_page_round_rectangle_card_bg_radius" />
</shape>
</item>

<!-- 阴影上边的层,向上便宜2dp漏出下层的部分阴影层 -->
<item android:bottom="2dp">
<shape android:shape="rectangle" >
<solid android:color="@color/home_page_card_title_business_mode" />
<corners android:radius="@dimen/home_page_round_rectangle_card_bg_radius" />
</shape>
</item>

</layer-list>


3.原理

关键是layer-list的使用:layer-list中可以写多个item,从上到下的item最后层叠效果为坐标轴Z轴方向,先写的item在最底层,后写的item在它上面依次覆盖。最后将layer-list作为background设置既可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 底部阴影