Ich stehe vor dem seltsamen Problem des Flackerns mit VideoView
. Wenn die Aktivität beginnt, verursacht es für eine Sekunde ein geringfügiges Flackern des Bruches. Dann startet das Video. Es zeigt 2 schwarze Linien am oberen und unteren Rand des Videos. Sehen Sie sich den Schnappschuss unten an.
Ich habe meine Anwendung auf 2 Geräten getestet
1) Samsung n-8000 (Tablet)
2) Lenovo a-800
video.xml
%Vor%Aktivitätscode:
%Vor%Jede Hilfe wäre willkommen. Vielen Dank.
So lächerlich wie es klingt, aber die Antwort ist hier:
Ich wiederhole die Lösung, ein großes Lob an diejenigen, die herausgefunden haben:
%Vor%Es ist SEHR WICHTIG , dass Sie die Oberflächenansicht der Stammansicht in Ihrer Aktivität hinzufügen, nicht das unmittelbare übergeordnete Element. Sonst wird es nicht funktionieren.
Ich hatte auch das gleiche Problem, aber löste es, indem ich den Layout-Parameter von videoview von Wrap-Inhalt zu Eltern anpassen. Außerdem müssen Sie die Hintergrundeigenschaft der Videoansicht aus XML entfernen. Ich hoffe, es wird für dich funktionieren.
Für Menschen in der Zukunft: Dieser hässliche Bug scheint in Marshmallow gelöst zu sein. Bei meiner Arbeit entwickeln wir mit Xamarin (also werden grundsätzlich alle Ansichten programmgesteuert hinzugefügt). Wir haben eine Menge Testgeräte, und ich habe hauptsächlich mit einem Marshmallow-Gerät gearbeitet, so dass ich dieses schwarze Flimmern beim Erstellen der Seite, an der ich gerade arbeitete, nie bemerkt habe. Nach dem Testen mit einem Lollipop-Gerät habe ich dieses Flimmern bemerkt.
Leider habe ich keine Lösung. Wir müssen unsere Anwendung so plattformübergreifend wie möglich verwenden, daher wird die Verwendung eines Layout-XML abgeraten / sadface.
Wenn dein Problem VideoView
flackert, wenn die Zurück-Taste gedrückt wird , setze deine VideoView
Sichtbarkeit auf INVISIBLE
oder GONE
in der onBackPressed()
Methode deiner Aktivität vorher Aufruf der Super-Implementierung.
Wenn der Benutzer auch über die "up" -Schaltfläche gehen kann, intercept android.R.home
-Option, um die VideoView
auszublenden.
Hier ist ein Beispiel in Kotlin:
%Vor%Entfernen Sie einfach die folgende Zeile aus Ihrem XML.
%Vor%Es wird dir helfen:)
Für alle, die immer noch mit dem Problem konfrontiert sind und nicht wissen, wie sie die obige Antwort verwenden sollen.
Es kopiert einfach diesen Code und fügt ihn in das Hauptaktivitätslayout ein, in dem Sie das videoview
unter dem Haupt (ersten) Layout verwenden.
in meinem Fall
%Vor%