安卓控件隐藏和显示动画
程序员文章站
2022-07-13 21:45:01
...
import android.os.Handler;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
public class AnimationUtil {
/**
* 从控件所在位置移动到控件的底部
*
* @return
*/
public static TranslateAnimation moveToViewBottom() {
TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 1.0f);
mHiddenAction.setDuration(1000);
return mHiddenAction;
}
/**
* 从控件的底部移动到控件所在位置
*
* @return
*/
public static TranslateAnimation moveToViewLocation() {
TranslateAnimation mHiddenAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 1.0f, Animation.RELATIVE_TO_SELF, 0.0f);
mHiddenAction.setDuration(1000);
return mHiddenAction;
}
public static void showView(View view){
view.setVisibility(View.VISIBLE);
view.setAnimation(AnimationUtil.moveToViewLocation());
}
public static void hideView(final View view){
view.setAnimation(AnimationUtil.moveToViewBottom());
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
view.setVisibility(View.GONE);
}
}, 1000);
}
}
转载于:https://blog.51cto.com/luoguoxin/1775003