假设我运行以下代码将 fragment 放入堆栈。它为我最初查看 fragment 和退出 fragment 时设置动画。
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_left,
R.anim.no_anim,
R.anim.no_anim_show,
R.anim.slide_right_away);
fragmentTransaction.replace(R.id.container, fragment, tag);
fragmentTransaction.addToBackStack(tag);
fragmentTransaction.commit();
如果我想稍后更改退出动画,我该怎么做?比如,如果我有以下代码:
getFragmentManager().popBackStack();
但我想要一个不同于我最初放入堆栈的动画。
最佳答案
以下是我尝试过的,并且有效:
getFragmentManager().beginTransaction().setCustomAnimations(
R.anim.slide_left, R.anim.new_anim)
.remove(fragment)
.commit();
因此,看起来我必须在新的 fragment 事务中显式“删除” fragment ,以便使用新的退出动画
关于java - 更改已在堆栈中的 fragment 的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465113/