是的,drawCircle 可以用于 Android 動畫。你可以使用 ObjectAnimator 或 ValueAnimator 來創建一個圓形的動畫效果。以下是一個簡單的示例,展示了如何使用 ObjectAnimator 創建一個圓形動畫:
import android.animation.ObjectAnimator;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
public class CircleAnimationView extends View {
private Paint paint = new Paint();
private RectF rectF = new RectF();
private float startAngle = 0;
private float endAngle = 360;
private ObjectAnimator animator;
public CircleAnimationView(Context context) {
super(context);
init();
}
public CircleAnimationView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
paint.setColor(Color.BLUE);
paint.setAntiAlias(true);
animator = ObjectAnimator.ofFloat(this, "angle", startAngle, endAngle);
animator.setDuration(3000);
animator.setRepeatCount(Animation.INFINITE);
animator.setRepeatMode(Animation.RESTART);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
rectF.set(getWidth() / 2 - 50, getHeight() / 2 - 50, getWidth() / 2 + 50, getHeight() / 2 + 50);
canvas.drawCircle(getWidth() / 2, getHeight() / 2, 50, paint);
canvas.drawArc(rectF, startAngle, endAngle - startAngle, true, paint);
}
public float getAngle() {
return angle;
}
public void setAngle(float angle) {
this.angle = angle;
invalidate();
}
}
在這個示例中,我們創建了一個名為 CircleAnimationView 的自定義視圖,它使用 ObjectAnimator 來改變圓的角度,從而創建一個圓形動畫效果。你可以將這個視圖添加到你的布局中,并觀察動畫效果。