Android 关于用path绘制扇形区域的方式

在开发项目的时候,需要自定义view实现下面的圆盘效果。



中间圆盘好绘制,周围扇形绘制的时候,发现使用drawArc方式,Paint设置宽度以后,扇形就不标准了,因为画笔宽度占了空间。因此采用path方式绘制扇形区域。
步骤:
 1. 先绘制出一条弧线,这里我先绘制出内弧线


最近绘制扇形,发现drawArc方式,paint设置宽度以后,扇形就不标准了。所以采用path绘制一个扇形区域。
// 画布宽高
val width = 200F
val height = 200F
//圆心坐标
val circlePoint = PointF(width/2,height/2)
//内弧rectf
val mSmallRectF = RectF(circlePoint.x - 40,circlePoint.y - 40,circlePoint.x + 40,circlePoint.y + 40)
//外弧rectf
val mBigRectF = RectF(circlePoint.x - 80,circlePoint.y - 80,circlePoint.x + 80,circlePoint.y + 80)


// 1. 先做出一条弧线,我这里设定小矩形,先做出内弧线。
path.addArc(mSmallRectF,0,90f)

// 2. 做出另一条弧线,我这里做出外弧线。
path.arcTo(mArcRectF,90,-90f)
// 3. 最后关闭path。
path.close()

// 使用canvas绘制path。
canvas.drawPath(path, mArcPaint)
这里有个需要注意的点,第二条弧线,要和第一条弧线相反的方向绘制。否则,最后绘制的图形就变了。比如: 第一条弧线是从0到90。第二条弧线就要从90到0。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值