В мероприятии я встроил виджет Video (VideoView или MediaPlayer, связанный с SurfaceView), размер которого следует изменять при повороте экрана. Это действие используется в качестве содержимого в TabHost.
Мой текущий подход
Чтобы управлять поворотом экрана, я предоставил два макета: один для портретной, а другой - для альбомной ориентации (помещены в папки ./res/layout и ./res/layout-land).
Проблема этого подхода заключается в том, что для каждого поворота создается новое действие, поэтому я не использую один и тот же MediaPlayer (или VideoView) => Я запускаю видео с начала каждый раз, когда поворачиваю экран. Поскольку видео передается из Интернета, невозможно сохранить позицию в видео для поиска этой позиции при перезапуске видео в другом действии.
Что я хочу сделать
Мне нужно иметь возможность переводить / масштабировать / скрывать виды внутри Activity при повороте экрана. Перевод / масштабирование необходимо для поддержания организации макета, чтобы макет адаптировался к разным размерам экрана.
Мои вопросы
Как сделать масштабировать / изменять размер представления, чтобы настроить его размер в соответствии с доступным пространством вокруг него?
Какой интерфейс, обратный вызов мне нужно реализовать, чтобы получать уведомления о повороте экрана для запуска этих преобразований?