In einem Abschnitt meiner app, die ich brauche, um meine ziehbar R.drawable.blah
auf weiße Farbe gefiltert werden (ursprünglich rot), so habe ich diese Methode:Warum wird ein ziehbarer Farbfilter an allen Stellen angewendet?
public final static Drawable getFilteredDrawable(Context context, @DrawableRes int drawable, @ColorRes int color) {
Drawable d = ContextCompat.getDrawable(context, drawable);
d.setColorFilter(ContextCompat.getColor(context, color), PorterDuff.Mode.SRC_IN);
return d;
}
und ich benutze es auf diese Weise:
DrawableUtil.getFilteredDrawable(this, R.drawable.blah, android.R.color.white);
Problem ist, dass jetzt das Zeichen in der ganzen App weiß wird, selbst wenn man den Filter nicht anwendet. Ich möchte, dass das Zeichen in diesem Bereich der App weiß ist, aber stattdessen wird es an jeder Stelle verwendet.
Wie kann ich es lösen?
Sie verwenden werden die ziehbar ändern, nicht eine Kopie. Sie sollten eine Kopie dieses Drawable in Ihren Ressourcen erstellen, zum Beispiel, um Ihr Problem zu lösen – ddb