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還支持其他參數的設置,如動畫的插值器、重復次數、重復模式等。具體可以參考官方文檔。