Ограничить поддержку ориентации приложением для Android

Я хочу, чтобы мое приложение поддерживало только портретный и левый ландшафтный режим ориентации.

Если мое приложение находится в портретном режиме, а пользователь меняет ориентацию на альбомную слева, оно должно измениться на альбомный режим. Но если мое приложение запущено в портретном режиме и пользователь меняет ориентацию на альбомную справа, оно не должно меняться на альбомный режим.

аналогичным образом он должен изменить свой режим с левого пейзажа на портрет.

if(screenOrientation == 0){
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        } else if(screenOrientation == 1){
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }

Я заблокировал режим в зависимости от значения screenOrientation, но когда разблокировать вращение. без разблокировки он не изменит свой режим ни при каком вращении.

кто-нибудь имеет представление об этом?


person Aniket    schedule 19.10.2016    source источник
comment
Без кода никто не сможет указать вам, где вы делаете неправильно.   -  person Haresh Chhelana    schedule 19.10.2016
comment
я отредактировал код с некоторыми деталями кода, которые у меня есть.   -  person Aniket    schedule 19.10.2016


Ответы (1)


добавить эту строку в манифест android:screenOrientation="sensorLandscape"

      <activity
        android:name=".MainActivity"
        android:screenOrientation="sensor" >
    </activity>
person Ganesh Pokale    schedule 19.10.2016
comment
он навсегда заблокирует ориентацию экрана в ландшафтном режиме. Мое приложение будет работать только при повороте на 0 и 270 градусов. - person Aniket; 19.10.2016
comment
но он изменит макет, если я поверну пейзаж вправо, то есть на 270 градусов. согласно моему требованию, он должен быть в режиме предыдущей ориентации. - person Aniket; 19.10.2016