嵌套片段在过渡动画期间消失
这里的情景:活动包含片段A,又使用getChildFragmentManager()添加片段A1,并A2在其onCreate像这样: getChildFragmentManager() .beginTransaction() .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) .commit() 到目前为止,一切都很好,一切正常。 然后,我们在Activity中运行以下事务: getSupportFragmentManager() .beginTransaction() .setCustomAnimations(anim1, anim2, anim1, anim2) .replace(R.id.fragmentHolder, new FragmentB()) .addToBackStack(null) .commit() 在过渡期间,enter片段的动画B正确运行,但片段A1和A2完全消失。当我们使用“后退”按钮还原事务时,它们会正确初始化并在popEnter动画过程中正常显示。 在我的简短测试中,它变得很奇怪-如果我为子片段设置动画(请参见下文),则exit在添加片段时动画会间歇性地运行B getChildFragmentManager() .beginTransaction() .setCustomAnimations(enter, exit) .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) .commit() 我要实现的效果很简单-我想运行片段(anim2)上的exit(或应该是popExit?)动画,A从而对整个容器(包括其嵌套的子代)进行动画处理。 有什么方法可以实现? 编辑:请在这里找到一个测试用例 Edit2:感谢@StevenByle促使我继续尝试使用静态动画。显然,您可以基于每个操作设置动画(不是整个事务的全局动画),这意味着子级可以具有不确定的静态动画集,而其父级可以具有不同的动画,并且整个事情可以在一个事务中完成。请参阅下面的讨论和更新的测试用例项目。