Android實現View隱藏顯示漸變動畫

這是一個動畫的工具類,實現了界面標籤從Visible–>InVisible,以及InVisible–>Visible的逐漸顯示與隱藏。下面是它的全部代碼:

import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;

/**
 * 動畫工具
 */
public class AnimationUtils {
    public enum AnimationState{
        STATE_SHOW,
        STATE_HIDDEN
    }
    /**
     * 漸隱漸現動畫
     * @param view 需要實現動畫的對象
     * @param state 需要實現的狀態
     * @param duration 動畫實現的時長(ms)
     */
    public static void showAndHiddenAnimation(final View view,AnimationState state,long duration){
        float start = 0f;
        float end = 0f;
        if(state == AnimationState.STATE_SHOW){
            end = 1f;
            view.setVisibility(View.VISIBLE);
        } else
        if(state == AnimationState.STATE_HIDDEN){
            start = 1f;
            view.setVisibility(View.INVISIBLE);
        }
        AlphaAnimation animation = new AlphaAnimation(start, end); 
        animation.setDuration(duration);
        animation.setFillAfter(true);
        animation.setAnimationListener(new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
            }

            @Override
            public void onAnimationRepeat(Animation animation) {
            }

            @Override
            public void onAnimationEnd(Animation animation) {
                view.clearAnimation();
            }
        });
        view.setAnimation(animation);
        animation.start();
    }
}

下面是怎樣調用此工具類:

AnimationUtils.showAndHiddenAnimation(imageview,AnimationState.STATE_SHOW,2000);

只爲了記錄一下方便以後查找,不喜勿噴@_@,之後再詳細敘述動畫的使用.

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