Запустить приложение только в ландшафтном режиме? - PullRequest
17 голосов
/ 23 сентября 2011

Я хочу запустить образец приложения Hello World только на моем устройстве в альбомном режиме.

Если устройство переключилось в портретное положение, я бы хотел поднять один тостер.Например, «пожалуйста, перейдите в ландшафтный режим для запуска приложения».

Как мне это сделать?

Ответы [ 5 ]

42 голосов
/ 23 сентября 2011

Вы можете использовать оба программно следующим образом:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

или также в файле манифеста, который вы можете указать здесь как

<activity android:name=".YourActivity"  android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation"/>
8 голосов
/ 23 сентября 2011

добавьте это к тегу своей активности в файле манифеста:

android:screenOrientation="landscape"

Это позволит зафиксировать вашу ориентацию в ландшафтном режиме, и вам не нужно показывать пользователю тосты.

3 голосов
/ 23 сентября 2011

в вашем манифест-файле (xml)

<activity android:name=".ActivityName" android:screenOrientation="landscape">
    </activity>

см. Также Можно ли проверить, был ли вызван метод onCreate из-за изменения ориентации?

1 голос
/ 23 сентября 2011

Вы можете попробовать что-то вроде этого

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

Log.v("log_tag", "display width is "+ width);
Log.v("log_tag", "display height is "+ height);

if(width<height){
    Toast.makeText(getApplicationContext(),"Device is in portrait mode",Toast.LENGTH_LONG ).show();
} else {
    Toast.makeText(getApplicationContext(),"Device is in landscape  mode",Toast.LENGTH_LONG ).show();
}
0 голосов
/ 23 сентября 2011

Вы можете использовать атрибут configChanges для действия, для которого вы хотите отследить изменение ориентации экрана.

После этого метод onConfigurationChanged() в вашей деятельности будет вызываться при изменении ориентации.

Чтобы проверить, какая ориентация отображается в данный момент, проверьте этот старый пост: Проверьте ориентацию на телефоне Android

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...