Как уберечь экран андроида от поворота боком?

Когда я поворачиваю устройство на бок, все в моем приложении также поворачивается и искажается. Как зафиксировать его в вертикальном положении?


person AnimatedRNG    schedule 11.12.2010    source источник


Ответы (4)


В вашем AndroidManifest.xml установите ориентацию вашей деятельности на portrait, как это.

<activity android:name=".YourActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
person Octavian A. Damiean    schedule 11.12.2010
comment
@ WRU4Android: Не забудьте также прочитать ответ CommonsWare! На самом деле его ответ самый правильный. - person Octavian A. Damiean; 11.12.2010

Когда я поворачиваю устройство на бок, все в моем приложении также поворачивается и искажается. Как зафиксировать его в вертикальном положении?

Как правило, вы не хотите этого делать.

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

Во-вторых, несколько телевизоров будут работать в портретном режиме. Вполне вероятно, что ваше приложение будет плохо выглядеть на Google TV, когда оно начнет поддерживать приложения Android.

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

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

Большинство приложений должны поддерживать портретную и альбомную ориентацию за счет тщательного проектирования существующих макетов и использования res/layout-land/ для замены макетов там, где требуется значительное изменение.

person CommonsWare    schedule 11.12.2010
comment
Спасибо за ответ, но он мне нужен для игры, которая будет работать только в портретной ориентации. Он вообще не будет работать в альбомной ориентации, и я также не собираюсь использовать его в Google TV. Кроме того, в моей игре нет необходимости вводить текст, за исключением раздела рекордов, где разрешено вращение экрана. - person AnimatedRNG; 11.12.2010

Для действия, которое вы определили в манифесте, вам необходимо установить android:screenOrientation.

Установите portrait или landscape. Убедитесь, что это не sensor.

person Aliostad    schedule 11.12.2010