Прежде чем мы начнем, это не дубликат этого старого вопроса: Android: Как придерживаться той же ориентации, с которой началось действие с , мой вариант использования немного более конкретен c и новые опции стали доступны, так как другой вопрос был задан и получен ответ
У меня есть экран «Просмотр изображения» в моем приложении. Экран работает в любой ориентации, но не должен меняться во время просмотра изображения:
- Если у меня телефон
portrait
и открыть экран просмотра, изображение должно отображаться portrait
- Если я затем поверну телефон на
landscape
, изображение все равно будет отображаться portrait
- Если я выйду и снова войду в экран с телефоном в
landscape
, изображение должно отобразиться landscape
- Если я выйду, поверну телефон на
portrait
и снова войду в экран, изображение должно отобразиться portrait
еще раз
Другими словами, я хочу экран для поддержки как портретной, так и альбомной ориентации, но только в зависимости от того, что было активным, когда я открыл действие для этого изображения. Я не хочу обновляться с изменениями конфигурации при просмотре.
Я пробовал новые значения nosensor
и locked
, но оба этих жестких кода имеют значение 0 градусов, и я не вижу разницы в реализации. Я не верю, что могу программно проверить ориентацию в жизненном цикле действия / фрагмента, потому что это происходит после того, как все было снесено и воссоздано. Мне нужно решение для манифеста - существует ли такая настройка? Или способ сделать это программно, избегая повторного создания / перерисовки моего представления без сохранения экземпляра?