android - 如何使用导航组件库从底部导航更改片段上的工具栏图标?
问题描述
我已经使用 navHostController 设置了底部导航,我有一个带有工具栏的容器活动,我想根据我所在的片段更改工具栏中的图标,如果我不使用导航组件库,这很容易.
主要活动
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
bottomNavigationView.setupWithNavController(dashboardNavHostFragment.findNavController())
}
我想将工具栏中的图标更改为底部导航中活动的片段。
解决方案
您可以使用addOnDestinationChangedListener
.
就像是:
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.xxxx) {
toolbar.setNavigationIcon(R.drawable.xxxx)
} else {
//
}
}
推荐阅读
- javascript - React Js - 使用外部变量达到内部函数
- javascript - SyntaxError:请求的模块“sqlite”不提供名为“default”的导出
- spring-boot - Quartz + Spring Boot:并发执行多个作业
- javascript - 获取 base64 字符串的 Http 失败
- python - Conv2D 产生奇怪的输出
- opentbs - 我们可以使用 opentbs 删除多个范围的幻灯片吗?
- amazon-web-services - 远程存储大量二进制文件以及程序化批量检索的策略
- json - 如何在 pandas json_normalize 方法中过滤 record_path 中的键?
- reactjs - 来自 props 的 UseCallback 缓存依赖
- javascript - 是否允许在 React 上下文中存储不可序列化的对象?