我正在使用DrawableCompat
和setTint
更改我的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
吗?
答案 0 :(得分:1)
不确定,但尝试更改
DrawableCompat.setTint(mDrawable, R.color.white);
到
DrawableCompat.setTint(mDrawable, getResources().getColor(R.color.white));
答案 1 :(得分:0)
出于某种神秘的原因,在我的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);