Android自定义View之不规则图形填充

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xu404741377/article/details/77478347

最近项目遇到了一个统计图的需求,折线图部分需要填充图案,这就涉及到了一个不规则图形填充的问题,考虑了几种方法,最后还是选了一种我觉得最简单的方案——利用Shader类。

先上一下效果图,十分简单的线,我用了贝塞尔曲线来表示完全可以填充不规则的直线和曲线。



接下来上代码来分析。代码超级简单,只有几行



其中onDraw部分几乎不用看,我用贝塞尔画了一条不规则的曲线而已,重点是在init()方法,创建一个Shader对象,其中BitmapShader构造器的第二个和第三个参数分别是图片的横向和纵向的填充方式,TileMode是个枚举类,有三个枚举,分别是CLAMP, REPEAT, MIRROR。其中,CLAMP是多出的部分利用bitmap的边缘色填充,REPEAT是重复填充,MIRROR是镜像填充。很好理解,自己试验一下就可以发现区别。

展开阅读全文

没有更多推荐了,返回首页