這是一個動畫的工具類,實現了界面標籤從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);
只爲了記錄一下方便以後查找,不喜勿噴@_@,之後再詳細敘述動畫的使用.