Ausrichtung, Seitenverhältnis und Größe der App

Android-Apps laufen auf allen Arten von Geräten: Smartphones, Tablets, Foldables, ChromeOS-Geräte, Autos, Fernseher und sogar XR-Geräte. Damit sich deine App an diese vielfältige Umgebung anpassen kann, sollte sie alle Geräteformfaktoren und Displaygrößen unterstützen.

Mit Android 16 (API-Level 36) können Apps sich an verschiedene Formfaktoren und Displaygrößen anpassen, indem App-Einschränkungen für die Bildschirmausrichtung, das Seitenverhältnis und die Größenänderung überschrieben werden. Die Überschreibungen gelten für Geräte mit einer Mindestbreite von >= 600 dp. Das bedeutet:

  • Tablets
  • Innendisplays von Foldables mit großem Display
  • Desktop-Freiform-Fenster (auf allen Formfaktoren)

Apps, die auf API-Level 36 ausgerichtet sind, können die Größe ändern und in den Multifenster modus wechseln (entspricht resizeableActivity="true"), wenn die Mindest breite des Displays >= 600 dp beträgt.

Die App wird auf einem aufgeklappten Gerät mit großem Display vor Android 16 im Letterbox-Format angezeigt, aber im Vollbildmodus, wenn sie auf Android 16 ausgerichtet ist. Die App zeigt im Vollbildmodus mehr Nachrichten als im Letterbox-Modus.
Abbildung 1 Der Developer Newsfeed, der zuvor auf Geräten mit großem Display mit Letterboxing angezeigt wurde (links), wird bei Ausrichtung auf Android 16 (rechts) im Vollbildmodus ausgeführt.

Android 16 erzwingt ein einheitliches Modell für das adaptive App-Design, das die Nutzerfreundlichkeit optimiert, indem die Nutzereinstellungen für Geräteausrichtung, Seitenverhältnis und Displaygröße berücksichtigt werden.

Änderungen

Die folgenden Manifestattribute und APIs werden für Apps ignoriert, die auf Android 16 (API-Level 36) auf großen Displays ausgerichtet sind:

Attribut oder API Ignorierte Werte
screenOrientation portrait, landscape, reversePortrait, reverseLandscape, sensorPortrait, sensorLandscape, userPortrait, userLandscape
resizeableActivity alle
minAspectRatio alle
maxAspectRatio alle
setRequestedOrientation()

getRequestedOrientation()
portrait, landscape, reversePortrait, reverseLandscape, sensorPortrait, sensorLandscape, userPortrait, userLandscape

Ausnahmen

Zu den Ausnahmen von den Änderungen in Android 16 gehören:

  • Displays mit einer Breite von weniger als 600 dp (die meisten Smartphones, Flip-Smartphones und Außendisplays von Foldables mit großem Display)

  • Spiele, basierend auf dem android:appCategory Flag

    Veröffentliche dein Spiel mit Android App Bundles und der Play App-Signatur. So kann Google Play das Flag verwalten und die Vorteile von App Bundles automatisch nutzen. Weitere Informationen findest du in der Übersicht zum App-Manifest.

  • Nutzer können in den Einstellungen für das Seitenverhältnis das Standardverhalten der App aktivieren.

Widerrufen

Wenn Sie das Verhalten der API-Ebene 36 deaktivieren möchten, deklarieren Sie die Manifest-Eigenschaft PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY.

Wenn Sie die Erfassung einer bestimmten Aktivität deaktivieren möchten, legen Sie die Property im Element <activity> fest:

<activity ...>
    <property
        android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
        android:value="true" />
    ...
</activity>

Wenn Sie die Funktion für Ihre gesamte App deaktivieren möchten, legen Sie die Eigenschaft im <application>-Element fest:

<application ...>
    <property
        android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
        android:value="true" />
    ...
</application>

Tests

Wenn du testen möchtest, ob deine App von den Änderungen in Android 16 betroffen ist, verwende die Emulatoren der Pixel Tablet- und Pixel Fold-Serie in Android Studio und lege targetSdkPreview = "Baklava" in der Datei des App-Moduls build.gradle fest.

Alternativ kannst du das App-Kompatibilitätsframework auf deinen Testgeräten verwenden, indem du das Flag UNIVERSAL_RESIZABLE_BY_DEFAULT aktivierst (siehe Tools des Kompatibilitätsframeworks).

Du kannst Tests mit dem Espresso-Testframework und den Jetpack Compose-Test-APIs automatisieren.

Implementierungsleitfaden

Bei Apps, die die Geräteausrichtung, das Seitenverhältnis oder die Größenänderung der App einschränken, können unter Android 16 Anzeigeprobleme auftreten, z. B. überlappende Layouts. Damit deine App auf Smartphones, Foldables, Tablets, ChromeOS-Geräten und anderen Geräten optimal funktioniert, sollte sie responsiv und adaptiv sein.

Checkliste zur Bereitschaft

Mit der folgenden Checkliste kannst du prüfen, ob deine App für die Änderungen in Android 16 bereit ist:

  • Gestreckte UI-Komponenten vermeiden:Layouts, die für Standard-Smartphones mit Hochformat entwickelt wurden, sind möglicherweise nicht für andere Seitenverhältnisse geeignet. UI-Elemente, die beispielsweise die gesamte Breite des Displays ausfüllen, können im Querformat gestreckt aussehen. Füge Komponenten eine maximale Breite hinzu, um das Strecken zu vermeiden.
  • Layouts scrollbar machen:Wenn Layouts nicht scrollen, können Nutzer möglicherweise nicht auf Schaltflächen oder andere UI-Elemente zugreifen, die im Querformat außerhalb des Bildschirms liegen. Aktiviere das Scrollen für App-Layouts, um zu prüfen, ob alle Inhalte unabhängig von der Höhe des Displays erreichbar sind.
  • Kamerakompatibilität im Hoch- und Querformat prüfen:Wenn die Suchervorschau der Kamera ein bestimmtes Seitenverhältnis und eine bestimmte Ausrichtung relativ zum Kamerasensor voraussetzt, können auf nicht konformen Displays gestreckte oder gespiegelte Vorschauen angezeigt werden. Prüfe, ob sich die Sucher bei Änderungen der Ausrichtung richtig drehen. Aktiviere die Anpassung der Sucher an UI-Seitenverhältnisse, die sich vom Seitenverhältnis des Sensors unterscheiden.
  • Status bei Änderungen der Fenstergröße beibehalten:Durch das Entfernen von Einschränkungen für Ausrichtung und Seitenverhältnis kann sich die Fenstergröße der App häufig ändern, je nachdem, wie Nutzer eine App verwenden möchten. Das kann beispielsweise durch Drehen, Auf- oder Zuklappen eines Geräts oder durch Ändern der Größe einer App im Multifenstermodus oder im Desktop-Freiform-Fenster-Modus geschehen. Konfigurationsänderungen wie Änderungen der Ausrichtung und der Fenstergröße führen standardmäßig zur Neuerstellung der Aktivität. Damit die Nutzerfreundlichkeit optimal ist, solltest du den App-Status beibehalten, damit Daten (z. B. Formulareingaben) erhalten bleiben und Nutzer den Kontext beibehalten können.
  • Fenstergrößenklassen verwenden:Unterstütze verschiedene Fenstergrößen und Seitenverhältnisse ohne gerätespezifische Anpassungen. Gehe davon aus, dass sich die Fenstergrößen häufig ändern. Verwende Fenstergrößenklassen, um die Fensterabmessungen zu charakterisieren, und wende dann ein geeignetes adaptives Layout an.
  • Responsive Layouts erstellen: Innerhalb von Fenstergrößenklassen passen sich responsive Layouts an Änderungen der Displayabmessungen an, um immer eine optimale App-Präsentation zu erzielen.

Eine praktische Anleitung zum Erstellen adaptiver Layouts in Compose findest du im Codelab Adaptive Apps mit Jetpack Compose erstellen. Wenn du eine App migrierst, die Ansichten verwendet, lies den Artikel zur Compose-Einführungsstrategie.

Zeitachse

  • Android 16 (2025) : Die Unterstützung aller Ausrichtungen und Seitenverhältnisse sowie der Größenänderung von Apps ist die Standardeinstellung für Geräte mit großem Display (Mindestbreite des Displays >= 600 dp) für Apps, die auf API-Level 36 ausgerichtet sind. Entwickler können diese Einstellung jedoch deaktivieren.
Ziel-API-Level Betroffene Geräte Deaktivierung durch Entwickler zulässig
36 (Android 16) Geräte mit großem Display (Mindestbreite des Displays >= 600 dp) Ja

Die Fristen für die Ausrichtung auf bestimmte API-Level sind je nach App-Shop unterschiedlich. Bei Google Play müssen Apps ab August 2026 auf API-Level 36 ausgerichtet sein.

Zusätzliche Ressourcen