更改菜单中抽屉的颜色

change color of drawale in Menu

我的应用程序中有一个菜单:

<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
    android:id="@+id/action_search"
    android:orderInCategory="200"
    android:title="Search"
    android:icon="@drawable/ic_ok"
    app:showAsAction="ifRoom"/>  </menu>

我想知道我是否可以更改 ic_ok 可绘制对象的颜色。因为默认它是黑色的,但我需要一个白色的。我知道我可以从互联网上下载一个新的白色并接受它,但我想知道我是否可以在 xml 代码中更改颜色。

我尝试了所有已知命令,例如:

android:tint="@color/white" 
android:textColor="@color/white"
android:backgroundColor="@color/white"
android:color="@color/white"

但是没有任何效果。

感谢您的宝贵时间 丹尼尔

以编程方式,您可以获得可绘制对象并将其着色为白色:)

// I suppose your drawable object variable it named drawable
drawable.getConstantState().newDrawable().mutate(); //so we are sure we are using a copy of the original drawable
drawable.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
// now you can use the drawable in your source code

此解决方案基于

这是另一种方式..

right click on drawable directory --> new --> select vector asset --> click to choose button --> select your particular icon --> press ok. now icon appear in drawable.. select that your icon's xml file.. and here you can change fillColor of your icon, and other things like opacity height, wight