Ho un video che viene riprodotto in modalità verticale. Alla fine del video, ho bisogno di mostrare alcune viste su di esso. Questo funziona bene finora.Android: le visualizzazioni sovrapposte all'ultimo fotogramma di un video a schermo intero non si ridisegnano correttamente quando si accende e si spegne lo schermo
Tuttavia, ho un problema in cui le visualizzazioni che si trovano nell'ultimo fotogramma di un video non si ridisegnano correttamente quando si ritorna all'attività dopo aver spento lo schermo, quindi riacceso, quindi sbloccato lo schermo.
Quello che sto osservando è che quando lo schermo si riaccende e io sblocco. I miei video e le mie immagini vengono prima renderizzati al di fuori della modalità a schermo intero (con la barra di stato ancora visualizzata), quindi lo schermo andrà in modalità a schermo intero spostando tutte le viste e causando artefazione.
Sembra che le viste vengano spostate dai limiti di visualizzazione dopo il passaggio a schermo intero dopo il rendering.
Sono davvero perplesso su come impedire che ciò accada.
Here is the sandbox project on github per evitare di rendere questo un post completo di codice.
La configurazione di base per il progetto è questo:
attività frammento ha una visualizzazione video e una vista tasto sul suo layout. Quindi aggiunge un frammento in un contenitore contentView. ContentView si dissolve in 1 secondo prima della fine della riproduzione del video.
Tutto funziona correttamente e il problema è con il ritorno all'app dopo aver acceso e spento lo schermo.
Inoltre, a volte il video si interrompe completamente, lasciando le visualizzazioni su uno sfondo nero.
Grazie in anticipo per qualsiasi aiuto è possibile fornire.
Ecco l'artifacting che accade quando si accende lo schermo spento, indietro, e sbloccare. Nota che dovevo farne una foto. Su DDMS lo strumento screenshot vede le immagini correttamente.
Grazie per il suggerimento Colin. Darò una prova. –
np! spero che funzioni :) –
Grazie Colin. Ciò ha sicuramente aiutato, non ho ancora capito come risolverlo, ma il tuo suggerimento illustra il problema. Il problema è che onResume viene chiamato mentre stai visualizzando la schermata di blocco. Sulla schermata di blocco è visibile la barra di stato che causa un disegno errato. Ricevere l'intenzione persente dell'utente aiuterà a correggere il problema. L'unico problema ora è che la chiamata invalida sulle viste sembrava non avere alcun effetto. Ma quella dovrebbe essere la parte facile. Grazie ancora! –