首页 > 解决方案 > 如何以编程方式在 Android Studio 中以编程方式更改 NavigationView 的图标颜色

问题描述

在此处输入图像描述

嗨,我需要在 NavigationView 图标折叠时更改它的颜色,如您在左上角看到的那样,它是白色的,我需要根据用户配置动态更改它(例如:橙色)。

标签: javaandroidandroid-toolbarnavigationview

解决方案


如果您使用的是 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));

推荐阅读