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

本文介绍了一种使用Shader类填充不规则图形的方法,通过创建BitmapShader对象并设置不同的填充方式,实现对折线图中不规则区域的有效填充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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



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



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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值