Программно отключить поворот экрана во всем приложении Android - PullRequest
3 голосов
/ 14 февраля 2012

Как программно отключить поворот экрана для всего приложения Android?

Ответы [ 3 ]

5 голосов
/ 14 февраля 2012

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

 android:screenOrientation="portrait" //Or landscape for horizontal.

Если вы хотите, чтобы между действиями было по-другому, просто сделайте ваш манифест похожим на это.

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

        <activity android:name=".Activity2" 
        android:screenOrientation="portrait">
        </activity>

        <activity android:name=".Activity3" 
        android:screenOrientation="landscape">
        </activity>
3 голосов
/ 14 февраля 2012

Исправить ориентацию в манифесте Android для каждого действия

        <activity  android:name=".SomeNewDesignActivity"  
           android:screenOrientation="portrait"  ></activity>
1 голос
/ 05 мая 2017

Слишком поздно на вечеринку!

В любом случае, если вы хотите отключить вращение, не заставляя пользователя выбирать пейзаж или портрет, который вы можете использовать в каждом действии в манифесте

android:screenOrientation="locked"

Итак, ваш манифест должен выглядеть так

    <activity android:name=".Activity1" 
      android:screenOrientation="locked">       
    </activity>

    <activity android:name=".Activity2" 
      android:screenOrientation="locked">
    </activity>

    <activity android:name=".Activity3" 
      android:screenOrientation="locked">
    </activity>

Таким образом, приложение сохранит текущую ориентацию, которую пользователь решил использовать.

Такое же поведение можно получить программно:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);
...