温馨提示×

Android动画之ScaleAnimation使用

小亿
141
2023-12-20 15:42:38
栏目: 编程语言

ScaleAnimation是Android中用于控制View的缩放动画的类。通过ScaleAnimation,可以实现View的放大、缩小等效果。

首先,需要创建一个ScaleAnimation对象,指定动画的起始缩放比例、结束缩放比例、动画的参考点以及动画的持续时间等参数。例如:

ScaleAnimation scaleAnimation = new ScaleAnimation(
    1.0f, 2.0f, //起始缩放比例为1倍,结束缩放比例为2倍
    1.0f, 2.0f, //参考点为View的中心点
    Animation.RELATIVE_TO_SELF, 0.5f,
    Animation.RELATIVE_TO_SELF, 0.5f
);
scaleAnimation.setDuration(1000); //动画持续时间为1秒

接下来,将创建好的ScaleAnimation对象应用到目标View上。可以通过View的startAnimation()方法来启动动画。例如:

view.startAnimation(scaleAnimation);

注意,startAnimation()方法只会启动动画效果,而不会改变View的真实大小。如果需要改变View的大小,可以在动画结束后,使用view.setScaleX()view.setScaleY()方法来设置View的缩放比例。例如:

scaleAnimation.setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
        //动画开始时的操作
    }

    @Override
    public void onAnimationEnd(Animation animation) {
        //动画结束时的操作
        view.setScaleX(2.0f);
        view.setScaleY(2.0f);
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
        //动画重复时的操作
    }
});

这样,当动画结束后,View的大小就会被设置为缩放后的大小。

除了缩放效果,ScaleAnimation还支持其他参数的设置,如动画的插值器、重复次数、重复模式等。具体可以参考官方文档。

0