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还支持其他参数的设置,如动画的插值器、重复次数、重复模式等。具体可以参考官方文档。