在Android中動畫效果有很多種,可以分爲補間動畫、幀動畫以及屬性動畫,比較常用的是補間動畫,補間動畫又可繼續細分,如下表:
動畫類型 | Xml定義動畫使用的配置節點 |
---|---|
漸變透明度動畫 | AlphaAnimation |
漸變尺寸縮放動畫 | ScaleAnimation |
位置移動動畫 | TranslateAnimation |
畫面旋轉動畫 | RotateAnimation |
現在就來介紹一下補間動畫的其中一種:TranslateAnimation 位移動畫
佈局文件中定義一個ImageView,然後進行初始化
定義一個全局的TranslateAnimation
private TranslateAnimation animation;
動畫效果部分的代碼:
TranslateAnimation有四個參數,分別如下
float fromXDelta 動畫開始的點離當前View X座標上的差值
float toXDelta 動畫結束的點離當前View X座標上的差值
float fromYDelta 動畫開始的點離當前View Y座標上的差值
float toYDelta 動畫開始的點離當前View Y座標上的差值
animation = new TranslateAnimation(-150, 150, 0, 0);
//設置動畫持續時間(毫秒)
animation.setDuration(1500);
//設置重複次數
animation.setRepeatCount(20);
//設置反方向執行
animation.setRepeatMode(Animation.REVERSE);
//開始執行動畫
ivHand.startAnimation(animation);
可以根據自己的需求繼續擴展
最後在不需要動畫效果的時候記得把動畫關掉
//停止動畫
animation.cancel();
還可以實現動畫監聽
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
搞定,手工!