Android 如何使用颜色选择器为子菜单图标着色?
我正在构建一个android应用程序,在actionbar上有几个菜单。这是menu.xmlAndroid 如何使用颜色选择器为子菜单图标着色?,android,xml,menu,tint,Android,Xml,Menu,Tint,我正在构建一个android应用程序,在actionbar上有几个菜单。这是menu.xml <menu> <item android:id="@+id/menu_comment" android:icon="@drawable/gsm_comment_selector" android:title="@string/COACH_COMMENT" app:showAsAction="always"/>
<menu>
<item
android:id="@+id/menu_comment"
android:icon="@drawable/gsm_comment_selector"
android:title="@string/COACH_COMMENT"
app:showAsAction="always"/>
<item
android:id="@+id/menu_more"
android:icon="@drawable/menu_more_selector"
android:title="@string/MORE"
app:showAsAction="always">
<menu>
<item
android:id="@+id/menu_share"
android:icon="@drawable/menu_share_selector"
android:title="@string/SHARE"/>
<item
android:id="@+id/menu_help"
android:icon="@drawable/menu_help_selector"
android:title="@string/HELP"/>
</menu>
</item>
</menu>
这就是XXX_选择器的外观。它包含一个可绘制和一个模板选择器(一个颜色状态列表),因此我可以在单击图标时更改其颜色
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_more_vert_white_24dp"
android:tint="@color/template_selector"/>
结果是,当按menu_comment和menu_more时,其图标颜色会发生变化。但“菜单共享”和“菜单帮助”并非如此
那么我该怎么做才能修复它呢?
谢谢您应该能够执行以下操作(从
onCreateOptions菜单调用)
)
谢谢你的回复。但它不起作用。按sub-menu时,可以更改文本颜色(我将相同的选择器添加到textPrimaryColor),但图标颜色仍然是默认颜色。
Drawable drawable = DrawableCompat.wrap(menuItem.getIcon());
DrawableCompat.setTint(drawable.mutate(), context.getResources().getColor(tint));
view.setIcon(drawable);