Ich verwende die folgende Methode, um eine PNG-Datei aus dem Ordner "Assets" in meiner Android-Anwendung zu extrahieren:
%Vor%Ich setze dann die Quelle eines ImageView im Element einer GridView auf diese Bitmap.
Hier ist das Layout XML in Frage:
%Vor%Und der Stil, auf den in diesem XML Bezug genommen wird, ist:
%Vor%Hier ist der Code, der die Quelle von ImageView festlegt:
%Vor%Das PNG-Bild hat einige transparente Bereiche, aber aus irgendeinem Grund, wenn das Bild in meiner GridView angezeigt wird, erscheinen die transparenten Bereiche schwarz.
Um einige Fragen zu vermeiden: Nein, der Hintergrund der Elemente Activity, ImageView, GridView und GridView ist nicht schwarz. In der Tat, egal was die Hintergrundfarben eingestellt sind, die transparenten Teile des Bildes kommen immer als schwarz durch.
Bedenken Sie dies jedoch ... Wenn ich das PNG-Bild in den zeichnbaren Ordner platziere und das ImageView wie folgt einstelle, ist die Transparenz perfekt:
%Vor%Ich bin mir ziemlich sicher, dass ich die Methode decodeStream (...) irgendwie falsch benutze, aber ich weiß nicht, was ich falsch mache. Ich habe sogar meine ursprüngliche Methode geändert, um einige Optionen wie hier gezeigt einzustellen:
%Vor%Aber das gab mir das gleiche schlechte Ergebnis.
Irgendwelche Ideen, irgendjemand?
Danke.
Wenn Ihr Bild aus einer Anwendungsressource besteht und es unter res / drawbar / statt eines der spezifischen Auflösungsordner (z. B. res / drawable-hdpi) abgelegt wird
Der Android-Compiler optimiert das PNG, so dass die transparenten Pixel weiß (oder schwarz bei GIFF-Dateien) gemacht werden
Lösung: Verschiebe deine PNG-Datei auf res / drawable-hdpi oder einen der anderen ziehbaren Ordner und du solltest OK sein.
Tags und Links android png transparent transparency bitmapfactory