首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Android API19中创建圆形显示动画?

在Android API19中创建圆形显示动画可以通过以下步骤实现:

  1. 创建一个自定义的View类,继承自View,并重写onDraw方法。
代码语言:txt
复制
public class CircleView extends View {
    private Paint mPaint;
    private int mRadius;

    public CircleView(Context context) {
        super(context);
        init();
    }

    public CircleView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    private void init() {
        mPaint = new Paint();
        mPaint.setColor(Color.BLUE);
        mPaint.setStyle(Paint.Style.FILL);
        mRadius = 0;
    }

    @Override
    protected void onDraw(Canvas canvas) {
        int width = getWidth();
        int height = getHeight();
        int centerX = width / 2;
        int centerY = height / 2;

        canvas.drawCircle(centerX, centerY, mRadius, mPaint);
    }

    public void setRadius(int radius) {
        mRadius = radius;
        invalidate();
    }
}
  1. 在Activity中使用这个自定义的View,并创建一个ValueAnimator来控制半径的变化。
代码语言:txt
复制
public class MainActivity extends AppCompatActivity {
    private CircleView mCircleView;
    private ValueAnimator mAnimator;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mCircleView = findViewById(R.id.circle_view);

        mAnimator = ValueAnimator.ofInt(0, 200);
        mAnimator.setDuration(2000);
        mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                int radius = (int) animation.getAnimatedValue();
                mCircleView.setRadius(radius);
            }
        });
        mAnimator.start();
    }
}
  1. 在布局文件中添加CircleView。
代码语言:txt
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <com.example.circleanimation.CircleView
        android:id="@+id/circle_view"
        android:layout_width="200dp"
        android:layout_height="200dp" />

</RelativeLayout>

这样就可以在Android API19中创建一个圆形显示动画。通过改变ValueAnimator的范围和持续时间,可以调整动画的速度和大小。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券