Android - Просмотры, наложенные на последний кадр полноэкранного видео, не перерисовываются должным образом при включении и выключении экрана

У меня есть видео, которое воспроизводится в портретном режиме. В конце видео мне нужно вывести на него несколько просмотров. Пока это работает нормально.

Однако у меня возникла проблема, когда просмотры, которые находятся в последнем кадре видео, не перерисовываются должным образом при возвращении к действию после выключения экрана, затем его повторного включения, а затем разблокировки экрана.

Я наблюдаю, что когда снова включается экран и я разблокируюсь.Мое видео и изображения сначала отображаются вне полноэкранного режима (со строкой состояния все еще отображается), затем экран переходит в полноэкранный режим, смещая все представления вверх и вызывая артефакты.

Похоже, что представления выходят за пределы их границ представления при переходе в полноэкранный режим после их рендеринга.

Я действительно не понимаю, как этого избежать.

Вот проект песочницы на github , чтобы этот пост не был переполнен кодом.

Базовая настройка проекта такова:

Действие фрагмента имеет вид видео и вид кнопок на макете. Затем он добавляет фрагмент в контейнер contentView. ContentView исчезает за 1 секунду до окончания воспроизведения видео.

Все работает без сбоев, проблема заключается в том, чтобы вернуться в приложение после включения и выключения экрана.

Кроме того, иногда видео просто полностью пропадает, оставляя виды на черном фоне.

Заранее благодарим за любую помощь, которую вы можете оказать.

proper rendering of views over video

Вот артефакты, которые возникают, когда вы выключаете, снова включаете и разблокируете экран. Обратите внимание, что мне пришлось его сфотографировать. В DDMS инструмент для создания снимков экрана правильно видит изображения.

artifacted image

19
задан Nelson Ramirez 8 February 2012 в 00:06
поделиться