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