【上移動畫,下面代碼是將指定view向上移動到界面以外】
AnimationSet animationSet = new AnimationSet(true);
int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
title.measure(w, h);// 我這裏title是界面的標題區域的view
int height = title.getMeasuredHeight();// 獲取到標題的高度
TranslateAnimation translateAnimation = new TranslateAnimation(0, 0, 0, -height);// 設置標題從座標爲0處開始移到標題的負高度
translateAnimation.setDuration(500);// 設置移動速度
animationSet.setFillEnabled(true);
animationSet.addAnimation(translateAnimation);
animationSet.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
ll_title.setVisibility(View.GONE);
mIntent = new Intent(mContext, CloudVoiceRecordSearchActivity.class);
startActivityForResult(mIntent, REQUEST_SEARCH);
}
});
view.startAnimation(animationSet);// view在我這裏是整個activity的界面【也就是我xml界面佈局的最外層的view的id】
【同上相反移動】
AnimationSet animationSet = new AnimationSet(true);
int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
title.measure(w, h);
int height = title.getMeasuredHeight();
TranslateAnimation translateAnimation = new TranslateAnimation(0, 0, -height, 0);
translateAnimation.setDuration(500);
animationSet.setFillAfter(true);
animationSet.setFillEnabled(true);
animationSet.addAnimation(translateAnimation);
animationSet.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
});
view.startAnimation(animationSet);
【我這裏是將整個界面向上移動title的高度,和向下移動title的高度】
文章寫得不好,不要噴哦~