我已经成功地从 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。它产生了这个结果。
它消失了!!任何人都知道如何解决这个问题请帮助我?
谢谢。
PS。我不想用drawArc()
,因为我想在戒指里面打个洞。使用drawArc()
,我的按钮将消失。