first
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
package com.ckkj.water.utils;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.animation.AccelerateInterpolator;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
|
||||
/**
|
||||
* @Description TODO
|
||||
* @systemUser 86133
|
||||
* @Author FengJingQi
|
||||
* @Date 04-18-2025 周五 11:12
|
||||
*/
|
||||
|
||||
public class ViewShowOrHideAnimate {
|
||||
|
||||
public static void showOptionsLayout(View view) {
|
||||
if (view.getHeight() == 0) {
|
||||
// View还没测量好,post到下一帧去执行
|
||||
view.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
startShowAnim(view);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
startShowAnim(view);
|
||||
}
|
||||
}
|
||||
|
||||
public static void startShowAnim(View view) {
|
||||
view.setVisibility(View.VISIBLE);
|
||||
view.setAlpha(0f);
|
||||
view.setTranslationY(100); // 100px下移初始
|
||||
|
||||
view.animate()
|
||||
.translationY(0)
|
||||
.setDuration(300)
|
||||
.setInterpolator(new DecelerateInterpolator()) // 出现时慢慢减速
|
||||
.start();
|
||||
}
|
||||
|
||||
public static void hideOptionsLayout(View view) {
|
||||
view.animate()
|
||||
.translationY(100) // 往下移
|
||||
.setDuration(300)
|
||||
.setInterpolator(new AccelerateInterpolator()) // 消失时加速离开
|
||||
.withEndAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
view.setVisibility(View.GONE);
|
||||
}
|
||||
})
|
||||
.start();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user