java - 如何以编程方式在 Android Studio 中以编程方式更改 NavigationView 的图标颜色
问题描述
嗨,我需要在 NavigationView 图标折叠时更改它的颜色,如您在左上角看到的那样,它是白色的,我需要根据用户配置动态更改它(例如:橙色)。
解决方案
如果您使用的是 a MaterialToolbar
,则可以使用以下方法setNavigationIconColor
:
toolbar.setNavigationIconColor(ContextCompat.getColor(this, R.color.xxxx))
注意:它至少需要 version 1.3.0-alpha03
。
如果您使用的是较低版本,或者androidx.appcompat.widget.Toolbar
您可以使用:
val wrappedNavigationIcon = DrawableCompat.wrap(toolbar.navigationIcon!!)
DrawableCompat.setTint(wrappedNavigationIcon, ContextCompat.getColor(this, R.color.xxxx))
或在java中:
Drawable wrappedNavigationIcon = DrawableCompat.wrap(toolbar-getNavigationIcon());
DrawableCompat.setTint(wrappedNavigationIcon, ContextCompat.getColor(this, R.color.xxxx));
推荐阅读
- angular - 离子保持登录
- html - HTML 到 PDF - 以英寸为单位的元素尺寸与预期不符
- javascript - 如何使用数据表计算两个时间之间的持续时间?
- python - 当它位于 /usr/local/bin/python3.6 时,如何在 ubuntu 上卸载 python3.6
- android - 如何使用从 url 下载的 apk 文件自动更新应用程序?
- javascript - 在 querySelectorAll() 之前调用 querySelector()
- python - 缺少 1 个必需的位置参数:在此上下文中为“TransformerMixin”
- azure - 如何使用 JavaScript 将护照 saml 集成到功能应用程序 azure 中?
- flutter - 如何在颤动中从列表视图元素的文本字段传递数据?
- vue.js - vue js css 模块在每次渲染中为元素赋予相同的名称