Agu*_*ana 5 android android-architecture-components android-jetpack
我正在尝试在 Android 中使用导航控制器
如上图所示,我将label目的地的属性设置为“Home”。
这个标签将在我的工具栏中显示类似标题。我可以以编程方式更改该标签吗?因为我想动态设置工具栏标题。
我尝试使用更改工具栏标题,toolbar.title = "some title here"但它始终会与该标签的标题重叠。
那么如何解决这个问题呢?
在您的活动中执行此操作,如下所示,这对我有用:
setSupportActionBar(toolbar)
val navController = findNavController(R.id.nav_controller_fragment)
val appBarConfiguration = AppBarConfiguration(navController.graph)
setupActionBarWithNavController(navController, appBarConfiguration)
navController.addOnDestinationChangedListener { controller, destination, arguments ->
when (destination.id) {
R.id.mainFragment -> toolbar.title = "ok"
else -> {
toolbar.title = "General"
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者如果您想从片段中进行更改,请执行以下操作:
override fun onStart() {
super.onStart()
(activity as MainActivity).toolbar.title = "changed"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3367 次 |
| 最近记录: |