使用 jetpack navigation 在 action bar 中显示后退箭头
Use jetpack navigation to display back arrrow in the action bar
我有一个带有底部导航和操作栏的 Jetpack 导航图设置。底部导航有 3 个选项卡。其中 1 个选项卡有一个详细的片段,我想在操作栏中显示后退箭头。
在 MainActivity
onCreate()
中,我添加了:
supportActionBar?.setDisplayHomeAsUpEnabled(true)
这会在每个选项卡和片段上显示后退按钮。
除非用户导航到非顶级片段,否则如何防止显示后退按钮?是否有检测此特定导航何时发生的方法?如果是这样,我想我可以做类似 supportActionBar?.setDisplayHomeAsUpEnabled(false)
的事情
此外,有没有办法在子页面上显示自定义后退箭头?默认箭头不适合 UI。
如果需要,很乐意提供更多详细信息。
您可以使用 NavigationUI
和 setupWithNavController(BottomNavigationView,NavController)
and setupActionBarWithNavController(AppCompatActivity,NavController,AppBarConfiguration)
的组合。第一个将底部导航绑定到导航控制器,第二个将设置支持操作栏来关注导航。
使用 AppBarConfiguration.getTopLevelDestinations()
您将能够配置何时显示后退箭头。默认仅将导航图的根视为顶级目的地,但您也可以使用另一个构建器来定义一组顶级目的地。
我有一个带有底部导航和操作栏的 Jetpack 导航图设置。底部导航有 3 个选项卡。其中 1 个选项卡有一个详细的片段,我想在操作栏中显示后退箭头。
在 MainActivity
onCreate()
中,我添加了:
supportActionBar?.setDisplayHomeAsUpEnabled(true)
这会在每个选项卡和片段上显示后退按钮。
除非用户导航到非顶级片段,否则如何防止显示后退按钮?是否有检测此特定导航何时发生的方法?如果是这样,我想我可以做类似 supportActionBar?.setDisplayHomeAsUpEnabled(false)
此外,有没有办法在子页面上显示自定义后退箭头?默认箭头不适合 UI。
如果需要,很乐意提供更多详细信息。
您可以使用 NavigationUI
和 setupWithNavController(BottomNavigationView,NavController)
and setupActionBarWithNavController(AppCompatActivity,NavController,AppBarConfiguration)
的组合。第一个将底部导航绑定到导航控制器,第二个将设置支持操作栏来关注导航。
使用 AppBarConfiguration.getTopLevelDestinations()
您将能够配置何时显示后退箭头。默认仅将导航图的根视为顶级目的地,但您也可以使用另一个构建器来定义一组顶级目的地。