相关疑难解决方法(0)

弹出片段backstack而不播放Pop-Animation

我使用以下代码在片段堆栈上推送片段:

FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_right,
     R.anim.slide_in_left, R.anim.slide_out_left);
fragmentTransaction.replace(getId(), newFragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)

这样,当弹出片段堆栈时,例如通过按下后退按钮,播放片段弹出动画.但是,有些情况下我想在不显示此动画的情况下弹出片段backstack,例如因为我刚刚从另一个活动返回并希望一次显示前一个片段,而没有动画.

示例导航可能如下所示:

  • 用户在根屏幕的开始屏幕上
  • 他在根片段上选择一个项目,然后显示一个新片段以显示该项目的详细信息.它使用片段事务来设置推送和弹出案例的动画(因此当用户按下后退按钮时,过渡动画)
  • 从这个片段开始,他开始一个活动(无论出于何种原因)删除刚刚显示的项目
  • 当这个活动结束时,我想返回根片段而不显示"细节片段"的"流行动画"

有没有办法弹出片段backstack而不播放指定的流行动画?

android android-animation android-fragments

55
推荐指数
4
解决办法
3万
查看次数