Когда я поворачиваю устройство на бок, все в моем приложении также поворачивается и искажается. Как зафиксировать его в вертикальном положении?
Как уберечь экран андроида от поворота боком?
Ответы (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>
Когда я поворачиваю устройство на бок, все в моем приложении также поворачивается и искажается. Как зафиксировать его в вертикальном положении?
Как правило, вы не хотите этого делать.
Во-первых, у некоторых пользователей есть устройства с физической клавиатурой, которые работают только в ландшафтном режиме. Возможно, для вашего приложения это не имеет значения. Однако любое приложение, использующее ввод текста, должно поддерживать альбомный режим для этих пользователей.
Во-вторых, несколько телевизоров будут работать в портретном режиме. Вполне вероятно, что ваше приложение будет плохо выглядеть на Google TV, когда оно начнет поддерживать приложения Android.
В-третьих, даже те пользователи, чьи устройства не заставляют их использовать альбомную ориентацию, просто предпочитают использовать альбомную ориентацию по какой-либо причине.
Все эти пользователи будут меньше думать о приложениях, которые используют портретный режим, и их мнения могут быть отражены в рейтингах на Android Market.
Большинство приложений должны поддерживать портретную и альбомную ориентацию за счет тщательного проектирования существующих макетов и использования res/layout-land/
для замены макетов там, где требуется значительное изменение.
Для действия, которое вы определили в манифесте, вам необходимо установить android:screenOrientation
.
Установите portrait
или landscape
. Убедитесь, что это не sensor
.
Взгляните на эти SOq: