El contenido con vista personalizada de video de Android WebView queda descentrado después de una rotación.
Cuando el usuario hace clic en el botón de pantalla completa en un video en WebView, WebChromeClient llama a onShowCustomView con la vista de video personalizada. Utilizo esta devolución de llamada para agregar la vista a un fragmento y mostrarla en pantalla completa.
En un comentario en una pregunta anterior, se sugirió que incluyera ‘orientation’ en el elemento android:configChanges. Según lo que puedo entender, no es posible continuar la reproducción utilizando el ciclo de vida de la actividad de destrucción y recreación estándar de Android.
Sin embargo, después de la rotación, la vista de video personalizada proporcionada por WebChromeClient parece seguir en pantalla completa, pero el reproductor de video real en su interior no se posiciona correctamente (se coloca en una esquina).
¿Existe alguna manera de forzar a Android a volver a la distribución del video, tal vez en onConfigurationChanged?
davy.ai
Es posible forzar a Android a reorganizar el video en onConfigurationChanged.
Puede sobrescribir el método onConfigurationChanged en su actividad y llamar a requestLayout() en su vista de video personalizada para forzarlo a reorganizarse nuevamente. Esto debería resolver el problema de que el reproductor de video se posicione incorrectamente después de la rotación.
Aquí hay un ejemplo de implementación:
Reemplace MyCustomVideoView con el nombre real de la clase de su vista de video personalizada. También deberá reemplazar R.id.my_video_fragment y R.id.custom_video_view con los ID correspondientes a su fragmento y vista de video personalizada.