我有一个带有底部导航和操作栏的jetpack导航图设置。底部导航有3个标签。这些标签中的1个有一个详细的片段,我想在操作栏中显示后箭头。
在MainActivity
onCreate()
中,我添加了:
supportActionBar?.setDisplayHomeAsUpEnabled(true)
这将在每个选项卡和片段上显示后退按钮。
除非用户导航到非顶级片段,否则如何防止显示后退按钮?是否有检测该特定导航何时发生的方法?如果是这样,我想我可以做类似supportActionBar?.setDisplayHomeAsUpEnabled(false)
此外,是否可以在子页面上显示自定义后退箭头?默认箭头不适合UI。
愿意在需要时提供更多详细信息。
答案 0 :(得分:2)
您可以结合使用NavigationUI
中的setupWithNavController(BottomNavigationView,NavController)
和setupActionBarWithNavController(AppCompatActivity,NavController,AppBarConfiguration)
。第一个将底部导航绑定到导航控制器,第二个将设置支持操作栏以进行导航。
使用AppBarConfiguration.getTopLevelDestinations()
,您可以配置何时显示后退箭头。默认设置是仅将导航图的根视为顶级目标,但是您也可以使用其他构建器来定义一组顶级目标。