2017-11-02 4 views
0

ベクトルアセットの色を設定したいだけです。私はそれを検索したが、私のために仕事ではないようだ。私はXMLから変更したくないので、MainActivity.javaで変更したいのですが、私はprogrammatically.isにはこれのためのメソッドがありますか?ベクトルアセットの色を設定する方法は?

は、ここで私は、アイコンの色をフォーマットするために何かを探しています私のコード

@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; 
} 

です。

私はImageViewまたはDrawableのためにする必要がありますだけでなくandroid:tintをXML.And使用すると、ベクトルDrawableのための色を変更する私のため

+0

[APPCOMPATツールバー上のMenuItemティント](https://stackoverflow.com/questions/26780046/menuitem-tinting-on-appcompat-toolbar) –

+0

の可能性のある重複の下にしてみてくださいいいえ、これは動作しません、私はXMLでそれをしたくないと述べた。 – meditat

答えて

2

コード

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); 
+0

ありがとうたくさんの男。私が欲しいもの。 – meditat

+0

@ShivamSingh答えが正解としてマークするのを忘れていない場合に役立ちます。ハッピーコーディング.. !! – Munir

+0

私は投票した、私はそれが正しい答えであることを知っているが、私は今より良いものを見つけた。私たちも私たち自身の質問に答えることができると思います。私はそうです。私はそれを掲示しています。 – meditat

1

を動作しません。私はこれを行うにはしたくないということを述べた:

yourImageView.setColorFilter(ContextCompat.getColor(context, R.color.your_color_white), android.graphics.PorterDuff.Mode.SRC_IN); 

これはImageView

+0

申し訳ありません、いいえxml色を変更したいですonButtonClick。 – meditat

+0

私はxmlを削除するように編集しました。 – Xenolion

2
とベクトル画像 ImageViewやDrawableのために動作します
1
menuItem.getIcon().setColorFilter(Color.WHITE , PorterDuff.Mode.SRC_ATOP); 
関連する問題