Ich habe ein Symbol in Png in Zeichenfächern. Es ist schwarz mit dem transparenten Hintergrund. Wie kann ich die Symbolfarbe ändern, ohne ein weiteres Zeichen hinzuzufügen?Ändern Png-Symbolfarbe in aus ziehbaren Ressourcen
0
A
Antwort
1
Sie eine ColorFilter können Sie die Symbole Farbe zur Laufzeit ändern.
Probieren Sie etwas wie folgt aus:
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
können Sie versuchen, diese
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));
Versuchen Sie, die oben Sie können mit PorterDuffColorFilter Play (0xffff00, PorterDuff.Mode.LIGHTEN) Sie können Schwarz verwenden usw.
0
Versuchen Sie, diese mit statische Methode:
public static Drawable changeDrawableColor(Drawable drawable, int color) {
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, color);
return drawable;
}
Der Farbparameter könnte ein Colo sein r aus Ihren Ressourcen.
0
PorterDuff.Mode.SRC_IN
Verwendung diese Eigenschaft ändern Sie die Farbe des Symbols mit der gewählten genauen Farbe.
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);
}
In neueren Versionen von Android können Sie dies in XML tun
android:backgroundTint="@color/colorAccent"
Go Farbe und invers es – Haroon
Ohne Farbe))))) Nur im Android – Igor
Siehe http://stackoverflow.com/a/5837189/6097062 –