DrawableCompat setTint 不工作

DrawableCompat setTint not working

我正在使用 DrawableCompatsetTint 更改我的其中一个 Drawable 的颜色并将其颜色设置为白色。

我在 onCreateOptionsMenu:

中使用此代码
Drawable mDrawable = ContextCompat.getDrawable(this,R.drawable.ic_add_circle_outline_black_24dp);
mDrawable = DrawableCompat.wrap(mDrawable);
DrawableCompat.setTint(mDrawable, Color.RED);
menu.findItem(R.id.item_addnew).setIcon(mDrawable);

Drawable 仍然是黑色。我是否以错误的方式使用了 DrawableCompat

不确定,但尝试更改

DrawableCompat.setTint(mDrawable, R.color.white);

DrawableCompat.setTint(mDrawable,  getResources().getColor(R.color.white));

出于某种神秘的原因,在我的 Menu 的 XML 中将黑色图标设置为默认图标并使用 Menu.getIcon() 检索 Drawable 成功了:

Drawable mDrawable = menu.findItem(R.id.item_addnew).getIcon();
mDrawable = DrawableCompat.wrap(mDrawable);
DrawableCompat.setTint(mDrawable, Color.WHITE);
menu.findItem(R.id.item_addnew).setIcon(mDrawable);