2016-05-11 17 views
0

drawableのpngのアイコンがあります。透明な背景を持つ黒です。別のドロウアブルを追加せずにアイコンの色を変更するにはどうすればいいですか?drawableリソースからPNGアイコンの色を変更する

+0

ゴー塗料がなけれ – Haroon

+0

それをペイントし、逆)))))唯一のAndroid – Igor

+0

でhttp://stackoverflow.comを参照してください。/a/5837189/6097062 –

答えて

1

を試すことができます。

このような何か試してください:あなたはブラックを使用することができます

Drawable mIcon= ContextCompat.getDrawable(getActivity(), R.drawable.your_icon); 
    mIcon.setColorFilter(ContextCompat.getColor(getActivity(), R.color.new_color), PorterDuff.Mode.MULTIPLY); 
    mImageView.setImageDrawable(mIcon); 
2

あなたは、実行時にアイコンの色を変更するColorFilterを使用することができ、この

Drawable mDrawable = context.getResources().getDrawable(R.drawable.yourdrawable); 
mDrawable.setColorFilter(new 
PorterDuffColorFilter(0xffff00,PorterDuff.Mode.MULTIPLY)); 
0
Drawable mDrawable = context.getResources().getDrawable(R.drawable.balloons); 
mDrawable.setColorFilter(new 
PorterDuffColorFilter(0xffff00,PorterDuff.Mode.LIGHTEN)); 

あなたはPorterDuffColorFilter(0xffff00、PorterDuff.Mode.LIGHTEN)で再生することができ、上記を試してみてくださいをなど

0

これを使用してみてください静的方法:

public static Drawable changeDrawableColor(Drawable drawable, int color) { 
    drawable = DrawableCompat.wrap(drawable); 
    DrawableCompat.setTint(drawable, color); 
    return drawable; 
} 

カラーパラメータはコロあなたのリソースから。あなたが選択した正確な色でアイコンの色を変更するには、このプロパティを使用して

0

PorterDuff.Mode.SRC_IN

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
     Drawable mIcon= ContextCompat.getDrawable(this, R.drawable.icon_send); 
     mIcon.setColorFilter(ContextCompat.getColor(this, R.color.colorAccent), PorterDuff.Mode.SRC_IN); 
     ibSendMessage.setBackground(mIcon); 
} 
あなたがXML

でこれを行うことができますアンドロイドの新しいバージョンで

android:backgroundTint="@color/colorAccent" 
関連する問題