Как заблокировать ориентацию приложения android в портретном режиме?
Я разрабатываю приложение для Android, ориентацию которого я не хочу менять на ландшафтный режим, когда пользователь вращает устройство. Кроме того, я хочу, чтобы заблокированная ориентация была портретным режимом на телефонах и ландшафтным режимом на планшетах. Это может быть достигнуто, если да, то как? Спасибо.
6 ответов:
вы просто должны определить свойство ниже внутри активность элемент . Это ограничит вашу ориентацию на портрет.
android: screenOrientation= "портрет"
пример:
<activity android:name="com.example.demo_spinner.MainActivity" android:label="@string/app_name" android:screenOrientation="portrait" > </activity>дополнительно, согласно комментарию Эдуарда Луки ниже, вы также можете использовать
screenOrientation="sensorPortrait"Если вы хотите включить поворот на 180 градусов.
вы должны добавить
android:screenOrientation="portrait"
Я вижу, что вы приняли ответ, который не решает вашу проблему полностью:
android:screenOrientation="portrait"Это заставит ваше приложение, чтобы быть портрет, на обоих телефонах и таблеток.
вы можете иметь приложение принудительно в" предпочтительной " ориентации устройства с помощью
android:screenOrientation="nosensor"это приведет к принуждению вашего приложения к портрету на большинстве телефонов телефонов и пейзаж на планшетах. Есть много телефонов с клавиатурами, которые были разработаны для ландшафтного режима. Принуждение вашего приложения к портрет может сделать его практически непригодным для использования на таких устройствах. Android в последнее время мигрирует и на другие типы устройств. Лучше всего просто позволить устройству выбрать предпочтительную ориентацию.
может быть.. вы должны определить, что это планшет или телефон программно...
if(isTablet) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }else { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); }
<activity android:name=".yourActivity" android:screenOrientation="portrait" ... />добавить к основной деятельности и добавить
android:configChanges="keyboardHidden"чтобы ваша программа не меняла режим при вызове клавиатуры.
Comments