私は1つの白い画像を持っており、アプリではその画像をさまざまな色で表示する必要があります。画像の色をプログラムで変更できますか?
白いイメージの色をプログラムで変更して、色ごとにイメージを別にする必要はありませんか?
は今、私はこれを持っている:
button.setBackgroundResource(getResources().getIdentifier("image_white", "drawable", getPackageName()));
私は1つの白い画像を持っており、アプリではその画像をさまざまな色で表示する必要があります。画像の色をプログラムで変更できますか?
白いイメージの色をプログラムで変更して、色ごとにイメージを別にする必要はありませんか?
は今、私はこれを持っている:
button.setBackgroundResource(getResources().getIdentifier("image_white", "drawable", getPackageName()));
はい、簡単です。カラーフィルタを使用して、プログラムによって任意のイメージの色を変更することができます。
ここでは、使用方法の簡単な例を示します。
ImageView imageView = (ImageView) findViewById(R.id.imageV);
imageView.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
画像の色が赤に変わります。任意の色を使用できますが、主な魔法はPorterDuff
に適切なモードを使用しています。結果に満足できない場合は、PorterDuff.Mode.SRC_ATOP
を使って試してみることもできます。
あなたのお役に立てれば、回答をupvotingしてください。 –
あなたは材料設計のアイコンを使用している場合は、色を変更することができます。
android:backgroundTint="@color/yourColor" android:tint="@color/yourColor"
Here you can find material design icons。
そうでなければ、カスタムXMLリソースファイルを使用して背景を変更できますが、私はあなたの必要性に合わないと思います。
あなたは使用することができます。
Drawable myDrawable = ContextCompat.getDrawable(context,R.drawable.drawable_id);
myDrawable.setTint(ContextCompat.getColor(context, R.color.color_id);
私の英語のため申し訳ありません。 私はそれが助けてくれることを願っています。
いくつかのカラーフィルタを追加しようとしましたか?これをチェックしてください:http://stackoverflow.com/questions/8193447/i-want-to-add-a-color-filter-to-the-imageview – JonZarate
はリソースですdrawable? –
は単色の画像ですか? –