简书链接:代码设置阴影以及了解阴影的原理
文章字数:487,阅读全文大约需要1分钟
添加阴影方式有很多种,如xml设置,java代码给view设置,或者纯绘制.

通过代码给textview添加红色阴影

1
public void setShadowLayer(float radius, float dx, float dy, int color) {}

radius 圆角越大就越模糊,范围越大,越稀稠.为0就没得阴影了.

dx,dy单位应该是像素,color是阴影的颜色.
数值太大就变味了,就偏离了阴影也不再是阴影了.
viewById.setShadowLayer(5,10,1,Color.RED);的效果如下:

image.png

圆角为1的效果.

image.png

当x为10,y为30px的时候
image.png
把圆滑度改成30的时候
image.png

画笔paint同样有此方法.

如果给一个view设置阴影,参考这里
https://blog.csdn.net/jakezhang1990/article/details/79425879

原因的原理就是克隆一份放到下面,设置了圆滑度也就是模糊和圆角就边了样子了

image.png
设置模糊
image.png

当然这都不是最好的方法,最好的方法参考我写的自定义绘制。