使用jetpack导航在操作栏中显示向后拖欠

时间:2019-06-19 22:55:41

标签: android kotlin android-jetpack android-navigation

我有一个带有底部导航和操作栏的jetpack导航图设置。底部导航有3个标签。这些标签中的1个有一个详细的片段,我想在操作栏中显示后箭头。

MainActivity onCreate()中,我添加了:

supportActionBar?.setDisplayHomeAsUpEnabled(true)

这将在每个选项卡和片段上显示后退按钮。

除非用户导航到非顶级片段,否则如何防止显示后退按钮?是否有检测该特定导航何时发生的方法?如果是这样,我想我可以做类似supportActionBar?.setDisplayHomeAsUpEnabled(false)

的事情

此外,是否可以在子页面上显示自定义后退箭头?默认箭头不适合UI。

愿意在需要时提供更多详细信息。

1 个答案:

答案 0 :(得分:2)

您可以结合使用NavigationUI中的setupWithNavController(BottomNavigationView,NavController)setupActionBarWithNavController(AppCompatActivity,NavController,AppBarConfiguration)。第一个将底部导航绑定到导航控制器,第二个将设置支持操作栏以进行导航。

使用AppBarConfiguration.getTopLevelDestinations(),您可以配置何时显示后退箭头。默认设置是仅将导航图的根视为顶级目标,但是您也可以使用其他构建器来定义一组顶级目标。