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

发布时间: 2021-03-04 09:07:53 作者: 大象笔记

场景

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

当列表页进入详情页时,想在 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()
}

界面效果

参考

我是一名山东烟台的开发者,联系作者