当前位置: 首页 > 知识库问答 >
问题:

使用jetpack导航在操作栏中显示后箭头

沃驰
2023-03-14

我有一个jetpack导航图设置,带有底部导航和一个动作栏。底部导航有3个选项卡。其中1个选项卡有一个详细的片段,我想在操作栏中显示后退箭头。

在MainActivity中,我添加了:

supportActionBar?.setDisplayHomeAsUpEnabled(true)

这将在每个选项卡上显示后退按钮

除非用户被导航到非顶级片段,否则如何防止显示后退按钮?是否有方法检测此特定导航何时发生?如果是这样,我假设我可以执行support portActionBar?. setDisplayHomeAsUpEngic(false)之类的操作

此外,有没有办法在子页面上显示自定义的后退箭头?默认箭头不适合UI。

如果需要,乐意提供更多细节。

共有1个答案

匡凌
2023-03-14

您可以从导航UI中使用设置WithNavController(BottomNavigationView,NavController)和设置ActionBarWithNavController(AppCompatActivity,NavController,AppBarConfiguration)的组合。第一个将底部导航绑定到导航控制器,第二个将设置支持操作栏以考虑导航。

使用AppBarConfiguration。getTopLevelDestinations()您将能够配置何时显示后退箭头。默认情况下,只将导航图的根视为顶级目标,但也可以使用另一个生成器定义一组顶级目标。

 类似资料:
  • 我已经安装了AndroidStudio的最新金丝雀版本,并遵循了这一点(https://developer.android.com/topic/libraries/architecture/navigation/navigation-implementing)实现简单两页导航的说明。基本上,page1有一个按钮,当点击它时,应用程序显示page2。 这是可行的,但有一个问题。。。它似乎不会自动对操

  • 我有抽屉布局作为我的活动的基础布局,我正在替换这个抽屉布局中的框架上的两个片段。第一个片段不会添加到片段的后堆栈中。我正在我的活动中显示汉堡包图标(我也想在我的第一个片段的抽屉菜单)。在第二个片段中,我通过禁用了汉堡包图标,并使用启用了后退按钮。 在Resume上的first fragments中,我通过MActionBarDrawerToggle.SetDrawerIndicatorEnable

  • 我正在从应用程序中的迁移到。但我不知道如何在

  • 我正在尝试在上显示一个以将上一页/活动移动到主页面(第一次打开)。我做不到。 我的代码。 代码在中。

  • 出于某种原因,我使用引导主题的导航栏没有显示为块。我正在使用我的index.html页面的轮播模板,并希望在我的其余页面上使用相同的主题,只是没有轮播。然而,当我拿出旋转木马时,我的第二个div坐在我的导航栏下。 下面是我导航栏的代码: 还有一个指向我的小提琴的链接,我的CSS位于引导CSS之上: https://jsfiddle.net/czz2Lm1n/

  • 我创建了一个简单的演示项目来测试Android Jetpack导航组件的默认后台功能<我有一个主要活动和两个片段。应用程序运行时会显示主片段。主片段有一个按钮。点击导航到另一个片段<但是每当我按下“系统后退”按钮时,我的整个应用程序就完成了,而不是通常的后堆栈行为,我应该看到主片段<感谢您的帮助。提前谢谢 代码如下: main活动。千吨 活动_main。xml(主要活动的布局) HomeFragm