Android 如何在导航控制器中更改目的地的标签属性?
我正在尝试在Android中使用导航控制器 如上图所示,我将目的地的Android 如何在导航控制器中更改目的地的标签属性?,android,android-jetpack,android-architecture-components,Android,Android Jetpack,Android Architecture Components,我正在尝试在Android中使用导航控制器 如上图所示,我将目的地的标签属性设置为“Home” 这个标签,会像标题一样显示在我的工具栏上。 我可以按程序更改标签吗?因为我想动态设置工具栏标题 我尝试使用toolbar.title=“此处的某些标题”更改工具栏标题,但它总是与该标签的标题重叠 那么如何解决这个问题呢?在你的活动中,像下面这样做对我来说很有效: setSupportActionBar(toolbar) val navController = findNavControll
标签
属性设置为“Home”
这个标签,会像标题一样显示在我的工具栏上。
我可以按程序更改标签吗?因为我想动态设置工具栏标题
我尝试使用toolbar.title=“此处的某些标题”
更改工具栏标题,但它总是与该标签的标题重叠
那么如何解决这个问题呢?在你的活动中,像下面这样做对我来说很有效:
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"
}
}
}
或者,如果您想从片段中进行更改,请执行以下操作:
override fun onStart() {
super.onStart()
(activity as MainActivity).toolbar.title = "changed"
}
只需删除
nav_graph.xml中该片段的标签,然后在片段/活动中为工具栏设置标题。但是字符串应该来自我的目标(片段)。那我该怎么办?我想动态更改它hi@Alexa289,有消息吗?我也有同样的问题。。。