【问题标题】:Fragment.setAllowEnterTransitionOverlap(false); doesn't work (enter and exit animation overlap)Fragment.setAllowEnterTransitionOverlap(false);不起作用(进入和退出动画重叠)
【发布时间】:2015-01-23 11:29:54
【问题描述】:
我将 Fragment 替换为:
Fragment fragment = new TheFragment();
fragment.setAllowEnterTransitionOverlap(false);
getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.fade_in, R.anim.fade_out).replace(R.id.LayoutContent, fragment).commit();
但是进退动画是同时播放的。
如何在播放新的 Fragment 进入动画之前等待退出动画完成?
【问题讨论】:
标签:
android
animation
android-fragments
fragment
fragmenttransaction
【解决方案1】:
我知道这已经晚了,但我想为其他有同样问题的人回答。
fragment.setAllowEnterTransitionOverlap(false);
fragment.setAllowReturnTransitionOverlap(false);
仅适用于内容转换 - 直接在片段中设置转换。
enteringfragment.setEnterTransition(new YourTransition())
exitingfragment.setExitTransition(new YourTransition())
不影响setCustomAnimations()处设置的动画
【解决方案2】:
可能有点脏,但我通过定义
解决了这个问题
android:startOffset
的进入动画与
的值相同
机器人:持续时间
退出动画。此外,我使用变量中的时间来确保它在两个动画中始终是相同的值,我只需要在一个地方更改它。
【解决方案3】:
您不需要这样做。
只需使用
setAllowEnterTransitionOverlap(false);
setAllowExitTransitionOverlap(false);
在两个片段上都有效。