Da Android-Apps jetzt auf einer Vielzahl von Geräten (z. B. Smartphones, Tablets, Foldables, Computern, Autos und Fernsehern) und in verschiedenen Fenstermodi auf großen Displays (z. B. im Split-Screen-Modus und im Desktop-Fenstermodus) ausgeführt werden können, sollten Entwickler Android-Apps erstellen, die sich an jede Bildschirm- und Fenstergröße anpassen, unabhängig von der Geräteausrichtung. Paradigmen wie die Einschränkung der Ausrichtung und Größenänderung sind in der heutigen Welt mit mehreren Geräten zu restriktiv.
Einschränkungen für Ausrichtung, Größenänderung und Seitenverhältnis ignorieren
Bei Apps, die auf Android 17 (API-Ebene 37) oder höher ausgerichtet sind, gelten die Einschränkungen für Ausrichtung, Größenänderung und Seitenverhältnis nicht mehr auf Displays, deren kleinste Breite größer als 600 dp ist. Apps füllen das gesamte Displayfenster, unabhängig vom Seitenverhältnis oder der bevorzugten Ausrichtung des Nutzers, und Pillarboxing wird nicht verwendet.
Mit Android 17 wird die temporäre Deaktivierungsoption für Entwickler für Einschränkungen bei Ausrichtung und Größenänderung auf Geräten mit großen Displays entfernt, die in Android 16 eingeführt wurde.
Diese Änderung führt zu einem neuen Standardverhalten der Plattform. Android entwickelt sich hin zu einem Modell, bei dem Apps sich an verschiedene Ausrichtungen, Displaygrößen und Seitenverhältnisse anpassen müssen. Einschränkungen wie eine feste Ausrichtung oder eine begrenzte Größenänderung behindern die Anpassungsfähigkeit von Apps. Sorgen Sie dafür, dass sich Ihre App anpasst, um die bestmögliche Nutzererfahrung zu bieten.
Sie können dieses Verhalten auch mit dem Framework für die App-Kompatibilität
testen und das UNIVERSAL_RESIZABLE_BY_DEFAULT Compat-Flag aktivieren.
Häufige nicht abwärtskompatible Änderungen
Das Ignorieren von Einschränkungen für Ausrichtung, Größenänderung und Seitenverhältnis kann sich auf die Benutzeroberfläche Ihrer App auf einigen Geräten auswirken, insbesondere auf Elemente, die für kleine Layouts im Hochformat entwickelt wurden. Beispielsweise kann es bei Apps zu Problemen wie gestreckten Layouts und Animationen und Komponenten außerhalb des Bildschirms kommen. Alle Annahmen, die Sie in Bezug auf das Seitenverhältnis oder die Ausrichtung treffen, können zu visuellen Problemen mit Ihrer App führen. Weitere Informationen dazu, wie Sie diese Probleme vermeiden und das adaptive Verhalten Ihrer App verbessern können.
Ein häufiges Problem bei Foldables im Querformat oder bei Berechnungen des Seitenverhältnisses in Szenarien wie dem Mehrfenstermodus, dem Desktop-Freiform-Fenster oder bei verbundenen Displays ist, dass die Kameravorschau gestreckt, gedreht oder zugeschnitten angezeigt wird. Dieses Problem tritt häufig auf Geräten mit großen Displays und Foldables auf, da Apps von festen Beziehungen zwischen Kamerafunktionen (z. B. Seitenverhältnis und Sensorausrichtung) und Gerätefunktionen (z. B. Geräteausrichtung und natürliche Ausrichtung) ausgehen. Weitere Informationen zum Verwalten der Kameravorschau.
Wenn die Gerätedrehung zugelassen wird, muss die Aktivität häufiger neu erstellt werden. Dadurch kann der Nutzerstatus verloren gehen, wenn er nicht ordnungsgemäß beibehalten wird. Informationen zum korrekten Speichern des Benutzeroberflächenstatus finden Sie unter Benutzeroberflächenstatus speichern.
Details zur Implementierung
Die folgenden Manifestattribute und Laufzeit-APIs werden auf Geräten mit großen Displays im Vollbild- und Multi-Window-Modus ignoriert:
screenOrientationresizeableActivityminAspectRatiomaxAspectRatiosetRequestedOrientation()getRequestedOrientation()
Die folgenden Werte für screenOrientation, setRequestedOrientation() und getRequestedOrientation() werden ignoriert:
portraitreversePortraitsensorPortraituserPortraitlandscapereverseLandscapesensorLandscapeuserLandscape
In Bezug auf die Größenänderung des Displays haben android:resizeableActivity="false",
android:minAspectRatio und android:maxAspectRatio keine Auswirkungen.
Ausnahmen
Die Einschränkungen für Ausrichtung, Größenänderung und Seitenverhältnis von Android 17 gelten in den folgenden Situationen nicht:
- Spiele (basierend auf dem
android:appCategoryFlag) - Nutzer, die in den Einstellungen für das Seitenverhältnis des Geräts explizit das Standardverhalten der App aktivieren
- Displays, deren kleinste Breite kleiner als
sw600dpist