android - 使用 NavigationComponent 和 BottomNavigationView 隐藏工具栏后退箭头
问题描述
我正在实现 NavigationComponent 与 BottomNavigationView 相结合的过程中,我注意到工具栏中显示了所有片段目的地的后退箭头,但startDestination
导航图中指定的片段目的地除外。
我能够找到的此实现的所有示例都显示出类似的行为。在我看来,隐藏 BottomNavigationView 的每个相关片段的后退箭头似乎是一种更自然的设计,(在工具栏中点击后退箭头以从选项卡 2 导航到选项卡 1 对我来说感觉很奇怪,我以前从未见过这种情况) .
有关示例以及我想要实现的目标,请参见下图。有什么办法可以做到这一点?
解决方案
如果您使用的是AppBarConfiguration
应该看起来像这样。
val appBarConfiguration = AppBarConfiguration(
setOf(
R.id.homeFragment,
R.id.dashboardFragment,
R.id.notificationsFragment
)
)
setupActionBarWithNavController(navController!!, appBarConfiguration!!)
这意味着您的所有片段都是顶级目的地。
注意,当您回击时,您将退出应用程序(或者如果配置为第一个片段,BottomSheet
例如,您会在 s 中获得此行为)。因此,如果您需要另一种情况,您应该onBackPressed
为每个片段配置
推荐阅读
- javascript - 在提供文件之前如何等待 Python shell 执行
- python - 在多个类中自动更新变量
- visual-studio-code - 如何设置 VS Code Live Server 扩展以在 Linux 上使用 Firefox Developer?
- javascript - React:为什么我在 React 组件中的链接不像在纯 HTML 页面中那样工作?
- python - 如何从零开始按升序获取bar y轴
- python - 如何在 python 中水合推文 ID 的数据框
- python-3.x - 如何以编程方式触发 Windows、Linux 和 Mac 的鼠标和键盘事件
- javascript - 如何从通过 Fetch API 发送的后端 (localhost) 获取数据?(PHP、Fetch、React Native、POST 请求)
- flutter - 作为等值对象成员的等值对象列表
- asp.net-core - ASP.NET Core Web 应用程序中电子邮件确认链接的默认有效期是多少?