自定义View——圆形图片外层添加阴影效果

最近在看扔物线讲解的自定义View课程,感觉受益匪浅,目前还在学习过程中,今天在ui-1-2这个小结中,他提到给可以给文字设置shadow。用到的方法是setShadowLayer()这个方法。自己尝试了一下,是可以实现的,于是想到之前项目中要实现圆形图片外围加上一层阴影。网上看了半天,貌似没有这方面的解决。后来自己是用CardView包裹ImageView实现的,但是一直觉得这种方式不太好,刚好看到他讲到这点,于是想把这个方法从文字套用到图片中去,但是在实际应用过程中,同样的代码,在drawCircle中却不起作用,然后看到他博客中提到:

注意:

  • 在硬件加速开启的情况下, setShadowLayer() 只支持文字的绘制,文字之外的绘制必须关闭硬件加速才能正常绘制阴影。

  • 如果 shadowColor 是半透明的,阴影的透明度就使用 shadowColor 自己的透明度;而如果 shadowColor是不透明的,阴影的透明度就使用 paint 的透明度。

后来在网上找了一下方法,有一行代码是可以关闭硬件加速:

setLayerType(View.LAYER_TYPE_SOFTWARE,null);

当代码设置进去之后,就可以实现图片外围阴影的效果了。

这里贴一下扔物线的博客地址,真的是受益匪浅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值