Стартовый макет Android с текущей ориентацией, после этого отключите вращение

StackOverflow https://stackoverflow.com/questions/7386797

Вопрос

Я хочу сделать возможным использование действия в альбомной / портретной ориентации. Действие начинается с макета для текущей ориентации (то есть до начала действия). После этого он должен его придерживаться и не реагировать на изменение ориентации.

Я пробовал ставить

родовое слово

в манифесте действия и переопределение

родовое слово

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

И я не могу использовать

родовое слово

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

родовое слово

ничего не делает

Здесь есть блокировка текущей ориентации с кодом http://www.samcoles.co.uk/ мобильный / Android-блокировка-и-разблокировка-экран-ориентация /

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

Это было полезно?

Решение

android: configChanges="direction" вообще не работает в эмуляторе, но отлично работает на устройствах.

Другие советы

Попробовать

родовое слово

Добавить это к OnCreate

if (this.getResources().getConfiguration().orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}
        else {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top