我已經通過以0到360度的角度成功掃描實現了一個動畫繪製環。 但是,當環的尾部以360度的角度遇到它的頭部時,所有的繪圖都消失了。在Android中使用Path.arcTo()繪製戒指時的怪異行爲
這是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()
,我的按鈕將消失。
我想是這樣....那麼唯一的辦法我們可以做的是使用sweepAngel = 360的另一張圖紙。就像@Kevin說的 – SaintTail
@SaintTail,這指出了這個問題,但並沒有告訴如何克服它。這是如何被接受的答案? – azizbekian