我正在使用以下代码显示片段中的子片段:
getChildFragmentManager().beginTransaction()
.setCustomAnimations(android.R.animator.fade_in, R.animator.slide_out)
.replace(R.id.container, detailFragment, "MAP_DETAIL")
.commit();
目标是仅在按下视图上的后退按钮时使片段执行退出动画。
现在,问题是当我通过侧面导航菜单导航到另一个视图时,它正在执行。这看起来不太好,因为在将主片段替换为另一个视图之前弹出了子片段。
如果要替换父片段,我想删除动画,但是当用户单击后退按钮(从细节到主要片段)时,请保留动画。
关于此案,我无法在线找到任何内容,但如果有答案,我深表歉意。
任何帮助或指导将不胜感激。
(请注意,我确实有一个视频要分享,其中显示了替换父片段时正在调用的子片段退出动画。如果需要,可以提供该视频
答案 0 :(得分:1)
为此,您可以使用带有4个参数的setCustomAnimations
方法:
“ 输入”动画随着片段的出现而显示,例如提交交易后。
显示“ 退出”动画,因为Fragment被另一个Fragment替换(即replace()事务)。
当用户弹出后退堆栈时,将显示“ 弹出式输入”动画,并且此Fragment返回到前台(即,当前的前台Fragment正在消失)。
当用户弹出后退堆栈时,将显示“ 弹出出口”动画,并且此片段正在离开前台。
我相信pop(输入/退出)动画应该可以提供您此处所需的行为。