Sperren Sie die Android-Telefonanwendung auf den Porträtmodus

99

Kann mir jemand sagen, wie ich meine Anwendung für einen Hochformatmodus sperren kann? Ist es eine einfache Konfiguration in der Manifestdatei?

Sexitrainer
quelle

Antworten:

222

Ja. Fügen Sie android:screenOrientation="portrait"dem Manifest unter Ihrer Hauptaktivität hinzu.

<activity android:name=".yourActivity" android:screenOrientation="portrait"... />
techiServices
quelle
73

Ja! Es ist ein Attribut des Aktivitäts-Tags:

<activity android:name=".yourActivity" android:screenOrientation="portrait" ... />
Francesco Laurita
quelle
7
Muss ich dies zu allen Aktivitäten hinzufügen, um es zu sperren?
Harsha MV
@HarshaMV Sieht so aus, als würde das Hinzufügen zur Hauptaktivität auf die gesamte App angewendet.
Declan McKenna
11

Möglicherweise müssen Sie Ihrem Aktivitätselement außerdem Folgendes hinzufügen:

android:configChanges="keyboardHidden"

Auf diese Weise ändert das Betriebssystem die Ausrichtung nicht, wenn der Benutzer eine Schiebetastatur öffnet.

Tim Mahoney
quelle
3

Keine dieser Antworten funktionierte auf meinem System, aber ich fand, dass die folgenden für eine einfache App, die ich entwickelt habe, perfekt funktionierten:

Innerhalb MainActivity.java add:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

zu onCreate ()

Das ist meins:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

Ich weiß, dass es nicht (immer) die beste Vorgehensweise ist, die Ausrichtung zu sperren, aber unter besonderen Umständen ist sie gültig und ich möchte dies nur vorübergehend, während ich mich weiterentwickle.

Ned
quelle
Willkommen bei StackOverflow. Es ist gut, dass Sie eine Lösung für Ihren speziellen Fall freigeben, aber Sie können Ihre Antwort bearbeiten, um den von Ihnen veröffentlichten Code richtig zu formatieren, damit er besser lesbar ist. Dazu müssen der Code und der vorherige Absatz durch mindestens zwei Zeilenumbrüche geteilt werden, und jede Zeile im Codeblock muss mit mindestens 4 Leerzeichen eingerückt sein. Bitte probieren Sie dies aus, indem Sie Ihre Antwort bearbeiten, und Sie werden selbst sehen, wie Ihre Antwort dadurch viel besser aussieht.
SebasSBM
Vollständige nützliche Tipps zur allgemeinen Verbesserung der Antworten finden Sie im Abschnitt Wie poste ich eine gute Antwort? . Aber in Ihrem Fall finden Sie diesen Abschnitt über Abschriften in Posts viel interessanter, denke ich. Jede kleine Verbesserung Ihrer Antwort kann einen großen Unterschied machen.
SebasSBM
Vielen Dank für die Tipps SebasSBM, es sah auf meinem Bildschirm lesbar aus, als ich es schickte, aber etwas ging auf der Reise verloren :)
Ned