DrawableCompat setTint 不工作
DrawableCompat setTint not working
我正在使用 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
?
不确定,但尝试更改
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);
我正在使用 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
?
不确定,但尝试更改
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);