Android 補間動畫TranslateAnimation 位移效果

在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) {

                }
            });

搞定,手工!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章