是的,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
来改变圆的角度,从而创建一个圆形动画效果。你可以将这个视图添加到你的布局中,并观察动画效果。