Ich habe ein Hintergrundbild auf ImageView
eingestellt, jetzt möchte ich die Deckkraft eines Bildes ändern, ohne dass ich diesen Code schreibe, um die Deckkraft von ImageView zu ändern, aber wenn ich dies tue, entferne ich das Hintergrundbild Aus der Bildansicht, So meine Frage ist, wie kann ich die Opazität von ImageView ändern, ohne Hintergrundbild von ihm zu entfernen.
Der verwendete Code ist:
%Vor%Der wichtigste Teil von Alpha ist, dass der Wert dezimal sein muss
0 = transparent und 1 = sichtbar
also 0,5 ist halbwegs sichtbar
in der XML, die Sie tun können
%Vor%Sie können
verwenden %Vor%Weitere Informationen finden Sie in der Dokumentation
Verwenden Sie diese Option in Layout-XML für die Deckkraft und um die Android Material-Symbole von Schwarz in Grau zu verwandeln. Android: Alpha = 0,5
Für Api & gt; = 16. Verwenden Sie setImageAlpha als Ihre Praxis, da setAlpha in den kommenden Jahren veraltet sein wird. "
ImageView.setAlpha(int)
wurde renamed
bis ImageView.setImageAlpha(int)
verwendet, um Verwirrung zu vermeiden. Siehe Detail Erklärung hier
Verwenden Sie imageView.setAlpha(100)
.
Wenn Sie Android 2.3 verwenden, müssen Sie einen schrecklichen Hack mit einer Null-Länge-Animation mit Neoolddroids machen.
Unterklasse ImageView
und überschreiben ihre onDraw()
Methode, um das Bild transparent zu zeichnen.
Ändern Sie die Bildpixel tatsächlich mit get/setPixel()
. Das wird aber sehr langsam sein; es gibt wahrscheinlich einen schnelleren Weg, dies zu tun (z. B. unter Verwendung von rendscript).
Tags und Links android