Android Портрет и пейзаж - PullRequest
       26

Android Портрет и пейзаж

0 голосов
/ 09 ноября 2018

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

Вот мой код:

Я использую это раньше:

setContentView(R.layout.activity_main);

MainActivity.java

// locking out landscape screen orientation for mobiles
if(getResources().getBoolean(R.bool.portrait_only)){
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

// locking out portrait screen orientation for TV
if(getResources().getBoolean(R.bool.landscape_only)){
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

Ответы [ 3 ]

0 голосов
/ 09 ноября 2018

Вы можете установить screenOrientation как 'behind' в файле манифеста для всех действий, кроме MainActivity.

Это делает все виды деятельности такими же, как и за деятельностью. Таким образом, если вы уже заблокировали ориентацию для MainActivity, то все действия, запущенные из MainActivity, сохранят ориентацию MainActivity.

0 голосов
/ 03 февраля 2019

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

0 голосов
/ 09 ноября 2018

Создайте BaseActivity, добавьте в него эту функцию, и ваша деятельность расширит BaseActivity.

...