最近,需要shape有阴影效果,找了一些解决方案,有一个觉得最简单快捷,和大家分享一下
先贴代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<!-- 相当于padding -->
<item android:left="4dp" android:top="4dp">
<shape>
<solid android:color="#ff58bb52" />
<corners android:radius="30dip"/>
</shape>
</item>
</layer-list>
</item>
<item>
<layer-list>
<!-- SHADOW LAYER -->
<item android:left="4dp" android:top="4dp">
<shape>
<solid android:color="#66000000" />
<corners android:radius="30dip"/>
</shape>
</item>
<!-- CONTENT LAYER -->
<!-- 相当于padding -->
<item android:bottom="4dp" android:right="4dp">
<shape>
<solid android:color="#ff58bb52" />
<corners android:radius="30dip"/>
</shape>
</item>
</layer-list>
</item>
</selector>
原理很简单,其实上面就是两shape交错,产生阴影。
(@ο@) 哇~