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/

10-12 03:21
查看更多