如何在NavigationView中将Tint设置为某些图标

die*_*mat 11 android navigationview

我想保留一些没有着色的图标,并且有些着色.我现在有:

app:itemIconTint="@color/menu_icons_selector"
Run Code Online (Sandbox Code Playgroud)

它会染上所有图标.

我试图让所有的图标都没有着色

mNavigationView.setItemIconTintList(null);
Run Code Online (Sandbox Code Playgroud)

然后

mNavigationView.getMenu().getItem(4).getIcon().setColorFilter(redColor, PorterDuff.Mode.SRC_ATOP);
Run Code Online (Sandbox Code Playgroud)

将色调仅设置为第4项,但这不起作用 - 所有图标现在都没有着色,第4项也没有着色.

小智 9

这对我有用....通过这种方式,您可以MenuItem编程方式为各个导航图标颜色着色

navigation.getMenu().findItem(R.id.navItem1).getIcon().setColorFilter(Color.RED,PorterDuff.Mode.SRC_IN);
Run Code Online (Sandbox Code Playgroud)