Ich habe einen VideoView, der ein Video spielt, dessen Form nicht rechteckig ist (d. h. ein rotierender Zylinder mit abgerundeten Ecken). Das Videobild wird in einem LinearLayout angezeigt, das eine Hintergrundfarbe hat. Ich möchte, dass der Hintergrund der Videoansicht transparent ist, damit der Zylinder über der Hintergrundfarbe ohne schwarze Ecken rotiert. Das bekomme ich:
und das möchte ich bekommen:
Natürlich könntest du fragen, warum ich nicht einfach die Hintergrundfarbe des Videos an die Hintergrundfarbe des Containers anpasse, aber der Grund, warum ich das erreichen möchte, ist, dass mein nächster Schritt darin besteht, ein Bild zu haben oder ein Muster als Hintergrund des Containers. Meine Layout-XML ist die folgende:
%Vor%Während des Experimentierens habe ich versucht, einen Hintergrund für das Videobild zu erstellen, aber das hatte zur Folge, dass das Videobild vollständig verdeckt wurde.
Danke.
VideoView öffnet ein separates Fenster über dem aktuellen. Dies liegt daran, dass es auf der SurfaceView basiert. Und wir können kein Alpha einstellen oder Animationen damit ausführen, weil es nicht mit Ihren anderen UI-Elementen synchronisiert ist.
Also: Sie sollten einen Videoplayer verwenden, der auf TextureView basiert und transparenten Hintergrund durch "set alpha" auf TextureView animieren Sie können diese Bibliotheken verwenden und erhalten einen Video Player basierend auf TextureView
Tags und Links android videoview alpha-transparency