Заставить активность Android всегда использовать альбомный режим - PullRequest
132 голосов
/ 28 января 2010

Я использую Android VNC Viewer на моем HTC G1 . Но по какой-то причине это приложение всегда находится в ландшафтном режиме, несмотря на то, что мой G1 находится в портретном режиме. Поскольку средство просмотра VNC для Android является открытым исходным кодом, я хотел бы знать, как можно жестко кодировать действие, чтобы оно было «пейзажным». Я хотел бы изменить его, чтобы уважать ориентацию телефона.

Ответы [ 14 ]

1 голос
/ 26 августа 2014

Делать это в коде - это ИМО неправильно, и даже более того, если вы поместите его в onCreate.Сделайте это в манифесте, и «система» знает ориентацию при запуске приложения.И этот тип мета или «руководства» верхнего уровня ДОЛЖЕН быть в манифесте.Если вы хотите доказать это себе, установите перерыв в onCreate.Если вы сделаете это в коде, он будет вызван дважды: он запускается в портретном режиме, затем переключается в альбомный режим.Этого не произойдет, если вы сделаете это в манифесте.

0 голосов
/ 19 мая 2017

Используйте ActivityInfo (android.content.pm.ActivityInfo) в вашем методе onCreate перед вызовом метода setLayout, как этот

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
0 голосов
/ 15 июня 2013

Для Android 4.0 (Ice Cream Sandwich) и более поздних версий мне нужно было добавить их, кроме значения landscape.

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"

Использование только keyboardHidden|orientation приведет к утечке памяти и восстановлению моих действий при нажатии кнопки питания.

0 голосов
/ 18 октября 2012

Нажмите CTRL+F11, чтобы повернуть экран.

...