IOS界面那么好看,不服气呀,android应该也是支持模糊阴影的, Paint.setShadowLayer官方文档
上一篇可以实现阴影,但是没有模糊效果,本文加上模糊效果
本文只是一个测试代码,属于抛砖引玉的,读者可以通过修改完善源码实现更好的效果
Paint.setShadowLayer是支持设置阴影的,不过有几个坑
- 需要关闭硬件加速,否则没有效果
- 阴影的颜色是需要带透明度的,否则没有效果
思路
- 比如你有一个 200dp*100dp的矩形空间需要显示边界阴影,先通过计算布局大小,给这个区域设置padding, 这个padding的目的是给阴影留下位置,阴影区域的大小是原空间的大小,给出的代码是一个ViewGroup,可以直接使用
- 效果还是可以的 (测试代码,只是右侧阴影和底部多一点阴影)
- 使用方法, 里面可以放任意的布局,是一个FrameLayout
<XXX.XXX.XXX.ShadowLayout2
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:background="#6c6b6b"
android:gravity="center"
android:text="测试阴影"/>
</XXX.XXX.XXX