gpt4 book ai didi

android - 如何制作正确的进/出动画?

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:02 24 4
gpt4 key购买 nike

onViewCreate 中,我设置屏幕后面的 View :

holderMenus.post(new Runnable() {
@Override public void run() {
if (holderMenus != null) {
if (DeviceType.INSTANCE.tablet) {
holderMenus.animate().translationY(-holderMenus.getHeight());
} else {
holderMenus.animate().translationY(holderMenus.getHeight());
}
}
}
});

然后,当我想移动 View 时:

  holderMenus.animate().translationY(0).setDuration(300);

效果不错; View 滑入。接下来我想将 View 移出屏幕:

 if (DeviceType.INSTANCE.tablet) {
holderMenus.animate().translationY(-holderMenus.getHeight()).setDuration(300);
} else {
holderMenus.animate().translationY(holderMenus.getHeight()).setDuration(300);
}

但是 View 没有滑动,而是消失了,就好像我将属性设置为 .setVisibility(View.GONE);

我怎样才能让它滑动呢?

最佳答案

我制作了一个自定义操作按钮,当滚动 ListView 时,它会从屏幕下方滑动并滑回屏幕下方。

隐藏:

        TranslateAnimation anim = new TranslateAnimation(0, 0, 0, 500);
anim.setDuration(300l);
anim.setFillAfter(true);
layout.startAnimation(anim); //layout is the layout with the button

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
layout.clearAnimation();
layout.setVisibility(View.GONE);
}
}, 300l);

显示:

Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
try {
layout.setVisibility(View.VISIBLE);
TranslateAnimation anim = new TranslateAnimation(0, 0, 500, 0);
anim.setDuration(300l);
anim.setFillAfter(true);
layout.startAnimation(anim);
} catch (Exception e) {
e.printStackTrace();
}
}
}, 500l);

关于android - 如何制作正确的进/出动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40178091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com