我有一个带有底部导航的应用,它是列表之间的主要导航(如Projects,Tags等),所有这些片段都应等效,即顶层Fragments
。导航正常运行,已经设置好了。
bottom_navigation.let { bottomNavigationView ->
NavigationUI.setupWithNavController(bottomNavigationView, navController)
}
从不同的顶层片段,我想导航到较低层的片段,这些片段应该在操作栏中带有向后箭头。我可以使用以下代码将导航与操作栏相连。
NavigationUI.setupActionBarWithNavController(this, navController)
问题在于,在这种情况下,所有片段都会返回一个后退箭头,所有顶层片段也都将返回(除了我在导航编辑器中标记为起始目标的片段之外)。是否可以将更多片段标记为起始片段,或者在导航中将某些片段标记为不获得此后退箭头?
答案 0 :(得分:0)
是的,您可以通过以下方式实现此目标:
val appBarConfiguration = AppBarConfiguration(setOf(R.id.top_level_fragment1, R.id.top_level_fragment2, R.id.top_level_fragment3))
setupActionBarWithNavController(navController, appBarConfiguration)
通过用AppBarConfiguration
传递目的地(片段)的ID列表,您的navController会将其视为顶级(无后退箭头)。