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

文章目录

    场景

    一个 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式