Android transparente Leinwand (Oberflächenansicht)

8

Ich habe ein Panel, das über ein Relaylayout auf einem anderen View platziert wird.

Ich möchte diesem Panel einen transparenten Hintergrund geben, habe aber nach stundenlanger Suche nicht den richtigen Weg gefunden. Wenn ich den Alpha zurück auf 0 setze, lande ich mit einem schwarzen Hintergrund.

Hoffentlich kann mir hier jemand helfen.

Vielen Dank!

Das Panel wird über diesen Code gezeichnet:

%Vor%     
patrick 03.09.2011, 15:19
quelle

4 Antworten

2

Nachdem ich mit keyword surfaceview statt canvas gesucht habe, habe ich herausgefunden, dass das nicht möglich ist. Weitere Informationen finden Sie unter: So machen Sie Oberflächenansicht transparent

Da der Hintergrund der Leinwand statisch ist, habe ich genau denselben Hintergrund angegeben. Jetzt sieht es so aus, als wäre es transparent:)

%Vor%     
patrick 04.09.2011, 12:48
quelle
26

Im Konstruktor:

%Vor%

Nach holder.addCallback(this) :

%Vor%

Zu Beginn der Zeichnung:

%Vor%     
Bilal Sammour 08.04.2013 07:50
quelle
4

Ich habe die Lösung aus der gleichen Frage kopiert: wie man Oberflächenansicht transparent macht und habe es mit einer ähnlichen Konfiguration wie deine funktionieren lassen.

Das kritische Stück für mich war die Einstellung 'setZOrderOnTop (true)', die ich beim ersten Durchgang töricht ignorierte. Ich lege das in den Konstruktor und setze mein Pixelformat auf RGBA_8888 innerhalb von SurfaceCreated.

An diesem Punkt war der Hintergrund vom Layout der obersten Ebene sichtbar.

    
ProjectJourneyman 02.12.2011 00:46
quelle
3

Versuchen Sie Folgendes:

%Vor%     
Fernando Gallego 03.09.2011 18:05
quelle