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()
、ボタンがなくなります。