Android 如何在navigationView中更改矢量图像的颜色
我需要更改菜单项图标的颜色,我尝试了很多方法,但没有一种不起作用Android 如何在navigationView中更改矢量图像的颜色,android,android-studio,android-menu,Android,Android Studio,Android Menu,我需要更改菜单项图标的颜色,我尝试了很多方法,但没有一种不起作用 navigationView.getMenu().getItem(i).getIcon().setTint(ContextCompat.getColor(context, R.color.colorPrimary)); 或 或 或 ,请帮助我使用itemIconTint属性更改NavigationView项目图标的颜色 <com.google.android.material.navigation.NavigationV
navigationView.getMenu().getItem(i).getIcon().setTint(ContextCompat.getColor(context, R.color.colorPrimary));
或
或
或
,请帮助我使用
itemIconTint
属性更改NavigationView项目图标的颜色
<com.google.android.material.navigation.NavigationView
app:itemIconTint="@color/colorPrimary" />
我找到了一种
navigationView.setItemIconTintList(new ColorStateList(new int[][]{ new int[]{android.R.attr.state_enabled} }, new int[] {Color.RED}));
Drawable mWrappedDrawable = drawable.mutate();
mWrappedDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(mWrappedDrawable, Color.RED);
DrawableCompat.setTintMode(mWrappedDrawable, PorterDuff.Mode.SRC_IN);
navigationView.getMenu().getItem(i).setIcon(mWrappedDrawable);
<com.google.android.material.navigation.NavigationView
app:itemIconTint="@color/colorPrimary" />
navigationView.setItemIconTintList(new ColorStateList(new int[][]{ new int[]{android.R.attr.state_enabled} }, new int[] {Color.RED}));