Wie kann ich die Layoutausrichtung auf vertikal korrigieren?

73

Wie kann man die Layoutausrichtung auf Hochformat korrigieren und den Wechsel von Hochformat zu Querformat zur Laufzeit nicht zulassen?

Harinder
quelle

Antworten:

151

AndroidMainfest.xmlSuchen Sie in Ihrer Datei die Tags der Aktivitäten, die Sie für eine bestimmte Drehung sperren möchten, und fügen Sie dieses Attribut hinzu:

android:screenOrientation="portrait"
Jim Blackler
quelle
@AlekseyTimoshchenko Kannst du beschreiben, wie es nicht funktioniert?
Parvus
3
@parvus für mich, als ich dieses Attribut android:screenOrientation="portrait"in Manifest gemäß der Antwort, die ich noch drehen kann, hinzufügte ... schließlich fand ich Lösung im nächsten, ich habe diese Zeile setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);zu onCreate();jeder Aktivität hinzugefügt
Aleksey Timoshchenko
21

Verwenden Sie setRequestedOrientation()wie gezeigt:

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

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
David Choe
quelle
Persönlich bevorzuge ich dies. Wenn Sie die Ausrichtung ändern möchten, ist dies sehr praktisch. Andernfalls verwenden Sie XML, wenn Sie das Gerät nur in dieser Ausrichtung platzieren möchten.
Chris.Jenkins
16

in Ihren Aktivitätsparametern in Manifest File

<?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 = "Porträt"

Hardik Gajjar
quelle
3
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Vor

setContentView(R.layout.main);
Echter Hyder
quelle
2

Wenn Sie die Ausrichtung einer Aktivität in Ihrem Projekt festlegen möchten, müssen Sie die Manifest.xmlParameter öffnen und in den Abschnitt mit den Parametern der gewünschten Aktivität einfügen (vor dem Schließen des ersten Tags < activity…> ):

android:screenOrientation="portrait" wenn Sie eine VERTIKALE feste Ausrichtung wünschen

android:screenOrientation="landscape" wenn Sie eine HORIZONTALE feste Ausrichtung wünschen

Fra
quelle
2

In Ihrem AndroidMainfest.xmlschreibe dies nur in Ihrer Aktivität , die Sie erklären,

Wenn Sie im Layout vertikal als verwenden möchten

android:screenOrientation="portrait"

Wenn Sie in Layout-Landschaft als verwenden möchten

android:screenOrientation="landscape"
Amit Vaghela
quelle