android圆角遮罩view

发布时间:2019-06-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了android圆角遮罩view脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

思路

项目开发过程中会用到一些角控件,但是每次有想单独添加圆角的控件的时候,又得自定义这个控件,于是想找个一劳永逸的方式来解决这个问题。左思右想,为何不找个方式去给想添加圆角的控件上面加一个遮罩?只要遮罩颜色跟背景颜色相同,同样可以达到圆角控件的效果。不管什么控件往上一盖就是圆角,多省事。
说干就干,首先确定遮罩裁切方案


如图,在四个角先画正方形,然后画以正方形边长为径的扇形,将它们的交集部分切除就行了。
那么问题来了:view绘制的时候如何镂空。查询了相关的博客,找到这篇http://blog.csdn.net/allen315410/article/details/45077165简单来说呢,就是在canvas上分别绘制图像与目标图像,然后用PorterDuffXfermode指定彼此重叠的绘制规则。关于PorterDuffXfermode网上有很多相关的例子,我就不多说,直接查询就是。

其中绘制矩形与扇形的时候,是以圆心为原点,x正轴为0°,沿顺时针方向进行绘制。比如你要绘制第二象限部分的扇形,就得填起始角度180°,终止角度270°,扫过的角度为90°。如下图。

效果图

android圆角遮罩view

代码

代码见:https://github.com/sanchi3/CircularCoverView

android圆角遮罩view

脚本宝典总结

以上是脚本宝典为你收集整理的android圆角遮罩view全部内容,希望文章能够帮你解决android圆角遮罩view所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。