私は0から360の角度で掃引を開始することでアニメーション描画リングを実装しました。 しかし、リングの尾が360度で頭を満たしていると、すべての図が消えます。AndroidでPath.arcTo()を使用してリングを描画する際の奇妙な動作
予告ここで私はそれが円になり、直前に-359にsweepAngleを設定することを、
これは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を-360に変更した場合。この結果が得られます。
それが消えます! 誰でもこれを解決する方法を知っていますか?
ありがとうございました。
PS。私はdrawArc()
を使用したくないので、リングの内側に穴を開けたいからです。 drawArc()
で、私のボタンはなくなります。
私は唯一の方法は、その後....そう思うすべてのドローコードは、1つの行を除いて、その最後のフレームのために同じでした私たちはsweepAngel = 360のために別の図面を使うことです。@ケビンは – SaintTail
@SaintTailと言っていますが、これは問題を指摘していますが、これを克服する方法は分かりません。どうしてこれが受け入れられるのでしょうか? – azizbekian