Jetpack导航:在片段之间导航时,如何使用与启动新活动时相同的动画?

问题描述

我正在基于Jetpack Navigation构建一个应用程序。我们的用户体验设计师曾要求,在某些情况下,我们在启动新活动时使用的片段之间切换时会使用相同的动画。

是否有可以用于此目的的设置?还是这是我可以通过R.anim.something访问并在导航图中使用的认动画?是否在AOSP源代码中定义了可以复制的地方?每个OEM是否有所不同?

解决方法

根据this issue,这是不可能的:

请考虑在Android R上添加官方API,以获取用于过渡的动画(并具有CTS)。仅使用它,它始终能够很好地模仿它。

原因是活动之间的动画在不同的OEM之间可能不同,并且甚至不必是静态的。我看过一些ROM,可以让用户在Activity之间选择动画。

因此,没有API可以检索默认活动动画,也没有可以静态包含在应用程序中的东西,因为每个OEM可能具有不同的动画,甚至在特定设备中,特定于OEM的不同用户设置也可能会改变什么是默认动画。