Как исправить ориентацию макета по вертикали? - PullRequest
65 голосов
/ 18 апреля 2011

Как исправить ориентацию макета в портретной ориентации и не допустить смены портретной ориентации в альбомную во время выполнения?

Ответы [ 7 ]

144 голосов
/ 18 апреля 2011

В вашем файле AndroidMainfest.xml найдите теги действий, которые вы хотите привязать к определенной ротации, и добавьте этот атрибут:

android:screenOrientation="portrait"
18 голосов
/ 05 мая 2011

Используйте setRequestedOrientation() как показано:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
setContentView(R.layout.main);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
14 голосов
/ 18 апреля 2011

в параметрах вашей активности в файле манифеста

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.statepermit" android:versionCode="1" android:versionName="1.0">
    <application android:icon="@drawable/stateheader" android:label="@string/app_name">
        <activity android:name=".statepermit" android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="7" />

</manifest>

Android: screenOrientation = "портрет"

3 голосов
/ 18 апреля 2011

Если вы хотите заморозить ориентацию во время выполнения, то вы можете реализовать это:

Android: временно отключить изменение ориентации в действии

Я использую аналогичный подход, и он отлично работает.

1 голос
/ 05 февраля 2016

В вашем AndroidMainfest.xml просто напишите это в объявленной вами активности,

Если вы хотите в макете вертикали, чем использовать

android:screenOrientation="portrait"

Если вы хотите в макете, чем использовать

android:screenOrientation="landscape"
1 голос
/ 18 ноября 2014

Если вы хотите зафиксировать ориентацию одного действия в вашем проекте, вам нужно открыть Manifest.xml и поместить в раздел параметры желаемого действия (до закрытия первого тега < activity…> ):

android:screenOrientation="portrait" если вы хотите вертикальную фиксированную ориентацию

android:screenOrientation="landscape" если вы хотите ГОРИЗОНТАЛЬНО фиксированной ориентации

1 голос
/ 12 октября 2013
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

до

setContentView(R.layout.main);
...