主屏幕有片段A。
单击将片段A替换为片段B.
按后退按钮将片段B替换为A.
然而,在完成完整动画之前,片段B位于片段A的顶部。
我想要他们反过来。
显而易见的代码:
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in_down, R.anim.custom_out, R.anim.custom_in, 0);
fragmentTransaction.replace(R.id.content, fragment, "contentFragment").addToBackStack(null).commit();
我试图实现的效果:
想象片段A是一扇门。
门打开(片段A退出动画),片段B落入屏幕(片段B进入动画)
按下后退按钮时,片段B保持原样,门(片段A)在其顶部关闭(片段输入动画)
任何人都知道如何以干净的方式执行此操作,而无需在按下后退按钮时添加其他片段A?
答案 0 :(得分:1)
到目前为止,最好的方法是将2个片段容器一个放在另一个上面。 我将片段A保留在顶部容器中,将片段B保留在另一个容器中 在1个交易中,我会删除/添加2个不同的容器。