Wie kann ich den Querformatmodus für einige Ansichten in meiner Android-App deaktivieren?
Fügen Sie android:screenOrientation="portrait"
zu der Aktivität in der AndroidManifest.xml hinzu. Zum Beispiel:
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" />
EDIT: Da dies zu einer sehr beliebten Antwort geworden ist, fühle ich mich sehr schuldig, da das Erzwingen des Porträts selten die richtige Lösung für die Probleme ist, auf die es häufig angewendet wird.
Die wichtigsten Vorbehalte gegen das erzwungene Hochformat:
retainInstance
-Fragmente zu verwenden.Bei den meisten Anwendungen sollten die Telefonsensoren, die Software und die physische Konfiguration selbst entscheiden, wie der Benutzer mit Ihrer Anwendung interagieren möchte. Es gibt jedoch einige Fälle, über die Sie nachdenken sollten, wenn Sie mit dem Standardverhalten der "Sensor"-Ausrichtung in Ihrem Anwendungsfall nicht zufrieden sind:
nosensor
für die Ausrichtung zu verwenden. Das erzwingt Querformat auf den meisten Tablets und Hochformat auf den meisten Handys, aber ich würde das trotzdem nicht für die meisten "normalen" Anwendungen empfehlen (manche Benutzer tippen einfach gerne im Querformat auf dem Softkeyboard ihres Handys, und viele Tablet-Benutzer lesen im Hochformat - und das sollten Sie ihnen erlauben).sensorPortrait
besser als portrait
für Android 2.3+; dies ermöglicht das Hochformat auf dem Kopf, was bei der Tablet-Nutzung recht häufig ist.Ich war mir der Umstellung auf die Datei "AndroidManifest.xml" nicht bewusst, bis ich diesen Beitrag las, daher habe ich in meinen Anwendungen stattdessen diese verwendet:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // Fixed Portrait orientation
Erstellen Sie im Verzeichnis <apphome>/platform/android
die Datei AndroidManifest.xml
(kopieren Sie sie aus der generierten Datei).
Fügen Sie dann android:screenOrientation=
"portrait
" zu ALLEN Aktivitätselementen hinzu.