在 Android 中使用 Path.arcTo() 绘制圆环时的奇怪行为

2024-02-13

我已经成功地从 0 到 360 度的角度开始扫动,实现了一个动画绘图环。 然而,当环尾部以 360 度角与头部相遇时,所有绘图都消失了。

这是我的戒指代码onDraw()

        float startAngle = 270;
        float sweepAngle = -359;

        paint.setColor(Color.DKGRAY);
        paint.setShadowLayer(4, 2, 2, 0x80000000);

        rectF.set(cenX - outerRadius, cenY - outerRadius, cenX + outerRadius,
                cenY + outerRadius);
        path.arcTo(rectF, startAngle, sweepAngle);
        //canvas.drawArc(rectF, 0, 360, false, paint);
        rectF.set(cenX - innerRadius, cenY - innerRadius, cenX + innerRadius,
                cenY + innerRadius);
        /*paint.reset();
        paint.setAntiAlias(true);
        paint.setColor(Color.WHITE);
        canvas.drawArc(rectF, 0, 360, false, paint);*/
        path.arcTo(rectF, startAngle + sweepAngle, -(sweepAngle));

        canvas.drawPath(path, paint);

这就是结果,

请注意,我在它变成圆形之前将sweepAngle设置为-359。 但是如果我将sweepAngle更改为-360。它产生这个结果。

它消失了!! 有人知道如何解决这个问题请帮助我吗?

Thanks.

附言。我不想用drawArc()因为我想在戒指内打一个洞。和drawArc(),我的按钮就会消失。


我想android在真正绘制它之前会mod 360。所以x - 360 === x它不会画任何东西!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 中使用 Path.arcTo() 绘制圆环时的奇怪行为 的相关文章