【发布时间】:2020-02-15 20:25:20
【问题描述】:
在执行属于 androidx.navigation 系统的片段事务时,我们可以像这样以编程方式指定 NavOptions:
val navOptions = NavOptions.Builder()
.setEnterAnim(R.anim.slide_in_right)
.build()
findNavController(R.id.nav_host_fragment).navigate(R.id.settingsFragment, null, navOptions)
我们也可以像这样在 navigation.xml 中指定它们:
<fragment
android:id="@+id/settingsFragment"
android:name="com.test.android.fragments.SettingsFragment"
android:label="SettingsFragment">
<action
android:id="@+id/action_settings_to_profile"
app:destination="@id/userProfileSettingsFragment"
app:enterAnim="@anim/slide_in_right" />
</fragment>
但是我们如何为 navigateUp() 方法设置动画呢?它不接受 NavOptions。我从我的片段右侧滑动,但是当用户按下返回时,没有动画发生。我想做一个向右滑动的动画(与他们到达那里时看到的相反)。
如何制作动画:navigateUp()?它在内部调用 popBackStackInternal,这是一个复杂的操作。我没有看到任何与动画有关的逻辑。
除了 navigateUp() 之外,还有什么其他的解决方案可以通过动画返回到你来自的地方?
【问题讨论】:
标签: android android-fragments navigation