Android Studio 3.6.
Ich möchte, dass meine App immer im portrait
Modus ist. Also in meinem AndroidMainfest.xml
:
<activity
android:name=".activity.SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Ich starte die App und SplashActivity
zeige im portrait
Modus. Nett. Der Editor zeigt jedoch den folgenden Fehler an:
Expecting android:screenOrientation="unspecified"
Warum?
android
android-manifest
screen-orientation
a_subscriber
quelle
quelle
Es betrifft nur Android Studio 3.6+
Was ist das Problem hier? Dieses Problem tritt auf, weil das Android-Framework möchte, dass der Benutzer die App-Ausrichtung selbst steuert. Es wird nicht empfohlen, die App-Ausrichtung einzuschränken. Wenn ein Benutzer die App beispielsweise im Querformat verwenden möchte, dreht er nur das Gerät um und die Sensoren erledigen die Arbeit, aber wenn a Entwickler beschränken die Bildschirmausrichtung, selbst wenn die Rotationssensor-App funktioniert, bleibt die App in einem vordefinierten Zustand, so dass Sie die Gerätefunktionen des Benutzers einschränken.
Was nun? Sie haben zwei Möglichkeiten. Erstens müssen Sie den Fehler ignorieren, da er selbst dann nicht zu einem Build-Fehler führt, wenn ich das Gleiche tue. Die Generierung von apk / aab erfolgt wie gewohnt. Eine weitere Option besteht darin, Querformat-Layouts bereitzustellen oder die Drehung wie in einigen Fällen zu handhaben Apps, die erkennen, wenn die Ausrichtung geändert wird, fordern den Benutzer auf, die Ausrichtung zu ändern, da die App in dieser Ausrichtung nicht unterstützt wird
Es kann sich in Zukunft ändern => Derzeit wirkt es sich nicht auf unseren Erstellungsprozess aus, aber es könnte sich in Zukunft ändern
quelle
In Android Studio 3.6.0 soll der Benutzer die Orientierung übernehmen und Entwickler dazu ermutigen, ViewModel- Inhalte zu verwenden . Lassen Sie mich screenOrientation im Detail erklären
android:screenOrientation="portrait"
gibt Ihnen einen Fehler, den Sie entweder angeben müssen
android:screenOrientation="fullSensor" or android:screenOrientation="unspecified"
fullSensor Bedeutet, dass Sie entweder die Option "Ausschalten" aktiviert haben oder nicht. Dadurch wird die Ausrichtung geändert, je nachdem, wie Sie das Telefon bewegen
nicht spezifiziert Bedeutet, wenn Sie die Option Drehen deaktiviert haben, bleibt sie nur in dieser Ausrichtung, und wenn nicht, ändert sie die Ausrichtung, je nachdem, wie Sie das Telefon bewegen.
quelle
quelle
Ich habe das folgende Verfahren angewendet. Es funktioniert perfekt für mich. In Android Studio 3.6.0 möchte ich, dass der Benutzer die Ausrichtung übernimmt und den Entwickler dazu ermutigt, ViewModel-Inhalte zu verwenden. Verwenden Sie das folgende Verfahren, um dies zu ignorieren.
Zuerst hinzufügen:
im Manifest-Tag.
Zweitens hinzufügen
im Anwendungs-Tag. Viel Spaß beim Codieren.
quelle
Ich habe zwei Möglichkeiten gefunden, um dieses Problem zu lösen
Zuerst,
Zweitens `
quelle
Fügen Sie die folgende Zeile hinzu
android:screenOrientation="portrait"
Klicken Sie dann auf Alt+Enter
quelle
Ich bin mit diesem Problem konfrontiert. In meiner Anforderung unterstützt ein Teil der Aktivität beide Ausrichtungen und bleibt im Hochformat. In diesem Fall habe ich die folgenden Schritte ausgeführt:
Fall 1: - Zum Sperren der Ausrichtung
Schritt 1: Fügen Sie in AndroidManifest.xml das folgende Zeile- Anwendungs-Tag hinzu
Schritt 2: Wenn Sie die Bildschirmausrichtung im Hoch- oder Querformat sperren möchten, fügen Sie die folgende Zeile in das Aktivitäts-Tag ein
Fall 2: - Angenommen, Sie möchten eine Orientierung für eine bestimmte Aktivität zulassen und ein bestimmtes Design für die Landschaft haben
Schritt 1: Entfernen Sie den Orientierungswert in Konfigurationsänderungen und entfernen Sie die Bildschirmorientierung, falls vorhanden, aus dem Aktivitäts-Tag. Mein persönlicher Vorschlag verwendet (LifecycleObserver) in Aktivität, ohne Werte zu verlieren, während Sie die Orientierung ändern.
Auf diese Weise löse ich dieses Problem. Ich hoffe, es hilft. Danke und Happy Coding.
quelle
Versuchen Sie diese Lösung:
Hoffe das hilft!
quelle
Sie können diesen Code verwenden:
quelle
Versuchen Sie, Folgendes in das Aktivitäts-Tag einzufügen
quelle