场景
一个 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 聊聊, 查看更多联系方式