簡體   English   中英

如何設置矢量資產的顏色?

[英]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的顏色應該是ImageViewDrawable顏色:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM