2017-02-18 13 views
0

私は1つの白い画像を持っており、アプリではその画像をさまざまな色で表示する必要があります。画像の色をプログラムで変更できますか?

白いイメージの色をプログラムで変更して、色ごとにイメージを別にする必要はありませんか?

は今、私はこれを持っている:

button.setBackgroundResource(getResources().getIdentifier("image_white", "drawable", getPackageName())); 
+0

いくつかのカラーフィルタを追加しようとしましたか?これをチェックしてください:http://stackoverflow.com/questions/8193447/i-want-to-add-a-color-filter-to-the-imageview – JonZarate

+0

はリソースですdrawable? –

+0

は単色の画像ですか? –

答えて

3

はい、簡単です。カラーフィルタを使用して、プログラムによって任意のイメージの色を変更することができます。

ここでは、使用方法の簡単な例を示します。

ImageView imageView = (ImageView) findViewById(R.id.imageV); 
imageView.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN); 

画像の色が赤に変わります。任意の色を使用できますが、主な魔​​法はPorterDuffに適切なモードを使用しています。結果に満足できない場合は、PorterDuff.Mode.SRC_ATOPを使って試してみることもできます。

+0

あなたのお役に立てれば、回答をupvotingしてください。 –

0

あなたは材料設計のアイコンを使用している場合は、色を変更することができます。

android:backgroundTint="@color/yourColor" android:tint="@color/yourColor"

Here you can find material design icons

そうでなければ、カスタムXMLリソースファイルを使用して背景を変更できますが、私はあなたの必要性に合わないと思います。

0

あなたは使用することができます。

Drawable myDrawable = ContextCompat.getDrawable(context,R.drawable.drawable_id); 
myDrawable.setTint(ContextCompat.getColor(context, R.color.color_id); 

私の英語のため申し訳ありません。 私はそれが助けてくれることを願っています。

関連する問題