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%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%Im Konstruktor:
%Vor% Nach holder.addCallback(this)
:
Zu Beginn der Zeichnung:
%Vor%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.
Tags und Links android android-canvas transparency draw