Müssen für ein ImageView einen Farbton einstellen... Ich benutze es auf folgende Weise:
imageView.setColorFilter(R.color.blue, android.graphics.PorterDuff.Mode.MULTIPLY);
Aber es ändert sich nicht...
Müssen für ein ImageView einen Farbton einstellen... Ich benutze es auf folgende Weise:
imageView.setColorFilter(R.color.blue, android.graphics.PorterDuff.Mode.MULTIPLY);
Aber es ändert sich nicht...
Wenn Ihre Farbe eine hexadezimale Transparenz hat, verwenden Sie den folgenden Code.
ImageViewCompat.setImageTintMode(imageView, PorterDuff.Mode.SRC_ATOP);
ImageViewCompat.setImageTintList(imageView, ColorStateList.valueOf(Color.parseColor("#80000000")));
Um die Tönung aufzuheben
ImageViewCompat.setImageTintList(imageView, null);
Ab Lollipop gibt es auch eine Tönungs-Methode für BitmapDrawables, die mit der neuen Palette-Klasse funktioniert:
public void setTintList (ColorStateList Farbe)
und
public void setTintMode (PorterDuff.Mode Farbmodus)
Auf älteren Versionen von Android können Sie jetzt die DrawableCompat-Bibliothek verwenden
Kotlin-Lösung mit Hilfe einer Erweiterungsfunktion, um die Tönung festzulegen und aufzuheben :
fun ImageView.setTint(@ColorInt color: Int?) {
if (color == null) {
ImageViewCompat.setImageTintList(this, null)
return
}
ImageViewCompat.setImageTintMode(this, PorterDuff.Mode.SRC_ATOP)
ImageViewCompat.setImageTintList(this, ColorStateList.valueOf(color))
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.