Android Fragment 顶部工具栏显示回退按钮

更新日期: 2021-03-04 阅读次数: 4167 字数: 117 分类: Android

场景

一个 Main Activity,多个 Fragment 组成的 Android App。

  • 界面1,列表页:list fragment
  • 界面2,详情页:detail fragment

当列表页进入详情页时,想在 fragment 顶部的 toolbar 看到回退按钮。

kotlin 实现代码

由于这里的 toolbar 输入 Main Activity,所以在 Activity 里添加:

private lateinit var appBarConfiguration: AppBarConfiguration

override fun onCreate(savedInstanceState: Bundle?) {
    // ...

    val navController = findNavController(R.id.nav_host_fragment)
    appBarConfiguration = AppBarConfiguration(navController.graph)
    setupActionBarWithNavController(navController, appBarConfiguration)
}

override fun onSupportNavigateUp(): Boolean {
    val navController = findNavController(R.id.nav_host_fragment)
    return navController.navigateUp(appBarConfiguration)
                || super.onSupportNavigateUp()
}

界面效果

参考

  • https://developer.android.google.cn/guide/navigation/navigation-ui#action_bar

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式