[英]How to set the color of the vector asset?
我只想设置矢量素材的颜色。 我已经搜索过了,但似乎对我没有用。 并且我不想从XML更改它,我想在MainActivity.java中更改它,或者我以编程方式说。是否有任何方法可以这样做?
这是我的代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem menuItem = menu.add("Image");
menuItem.setIcon(R.drawable.ic_camera_alt_black_24dp);
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
//something like this
//menuItem.setIconColor(Color.WHITE);
return true;
}
我正在搜索某种格式的图标颜色。
我提到我不想使用XML进行操作,而且android:tint
对我不起作用
ivImageView.setColorFilter(getResources().getColor(R.color.colorPrimary));
尝试下面的代码
Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_camera_alt_black_24dp, null);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, Color.WHITE);
menuItem.setIcon(drawable);
更改Vector Drawable的颜色应该是ImageView
或Drawable
颜色:
yourImageView.setColorFilter(ContextCompat.getColor(context, R.color.your_color_white), android.graphics.PorterDuff.Mode.SRC_IN);
这将适用于矢量图像ImageView
或可绘制为ImageView
menuItem.getIcon().setColorFilter(Color.WHITE , PorterDuff.Mode.SRC_ATOP);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.