Как заблокировать ориентацию приложения android в портретном режиме?



Я разрабатываю приложение для Android, ориентацию которого я не хочу менять на ландшафтный режим, когда пользователь вращает устройство. Кроме того, я хочу, чтобы заблокированная ориентация была портретным режимом на телефонах и ландшафтным режимом на планшетах. Это может быть достигнуто, если да, то как? Спасибо.

625   6  

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"

чтобы ваша программа не меняла режим при вызове клавиатуры.

установите ориентацию экрана на портрет в файле манифеста под тегом activity.

Comments

    Ничего не найдено.