I implemented an animated drawing ring, starting to use it widely at an angle from 0 to 360. However, when the tail of the ring meets its head at an angle of 360 degrees, the whole picture disappears.
This is my code for the ring in 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);
and this is the result

Note that I set sweepAngle to -359 before it becomes a circle. However, if I change sweepAngle to -360. He produces this result.

He is disappearing !! Does anyone know how to solve this, please help me?
Thanks.
PS. I do not want to use drawArc() because I want to make a hole inside the ring. With drawArc() my button will disappear.
android android-custom-view drawing
Saintail
source share