片段事务动画 - 在退出片段之上显示进入片段

4
当您使用被检查的动画转换片段(输出片段的持续时间比动画转换片段更长)时,可能会面临这样一个事实:转换片段的时间会落在输出片段之下 - 我原本希望它能动画显示在输出片段上面。谁知道如何实现所需的效果呢?
首先添加片段:
fragmentManager.beginTransaction().add(R.id.frame_layout_fragments_container, new FragmentHome(), "home").commit();

替换片段:

fragmentManager.beginTransaction().setCustomAnimations(R.anim.forward_show, R.anim.forward_hide, R.anim.back_show, R.anim.back_hide).replace(R.id.frame_layout_fragments_container, fragment, fragmentName).commit();

简单的插图

现在我有: 输入图片描述

我需要的是: 输入图片描述


你找到答案了吗?我也有同样的问题,目前还没有解决方案... - Evren Ozturk
@PsyCoder很遗憾无法快速而优雅地解决这个问题——时间不够,只能使用多个容器来管理一个片段管理器——这肯定是一种不好的做法和肮脏的工作。 - Siruk Viktor
你是如何解决这个问题的,请多指教。 - Dory
4个回答

0

不,我想要的效果是出站和入站片段向一个方向移动,但由于入站片段具有更快的动画,在交易期间它应该位于出站片段的顶部。 - Siruk Viktor

0

0

0

我认为你可以尝试以下方法作为解决方案。

fragmentTr.setCustomAnimations(enter, exit);
fragmentTr.hide(currentFragment);
fragmentTr.add(containerId, newFragment, "aTag");
fragmentTr.show(newFragment);
fragmentTr.commit();

不要使用replace()。我尝试了上述方法,它有效了。 希望这可以帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接