Android Navigation 组件移除工具栏动画

For*_*ori 10 android android-jetpack

当我使用带有工具栏的导航组件时,如何删除工具栏动画:

NavigationUI.setupWithNavController(toolbar, findNavController(R.id.nav_host_fragment))

在每个片段中,我都有自定义菜单(和setHasOptionsMenu(true))。在findNavController().popBackstack()工具栏菜单项进行的每个片段事务上都有丑陋的过渡动画。如果我删除setupWithNavController,动画会消失,但我需要它。

Flo*_*her 7

我发现如果你调用Activity.setupActionBarWithNavControllerNavigationUI.setupActionBarWithNavController代替工具栏特定的函数,你不会得到这些动画。

onSupportNavigateUp如果您使用这种方法,您还必须覆盖以处理向上按钮:

override fun onSupportNavigateUp(): Boolean {
    return navController.navigateUp() || super.onSupportNavigateUp()
}
Run Code Online (Sandbox Code Playgroud)

如果您使用工具栏,请不要忘记调用setSupportActionBar(toolbar)以将工具栏设为您的默认操作栏。