Adaptive Empfehlungen

Adaptive Apps unterstützen Displays aller Größen: den gesamten Gerätebildschirm, veränderbare Fenster im Multifenstermodus, Hoch- und Querformat sowie zusammengeklappte und aufgeklappte Displays von faltbaren Geräten.

Mit einer kurzen Liste von Konfigurationseinstellungen und APIs können Sie adaptive Apps erstellen. Einige veraltete Einstellungen und APIs sind jedoch nicht mit adaptiven Apps kompatibel und müssen vermieden werden.

Größe kann geändert werden

Adaptive Apps unterstützen die Größenänderung von Apps und den Mehrfenstermodus.

Mit dem Attribut resizeableActivity der Manifestelemente <activity> und <application> wird der Multifenstermodus unter Android 11 (API-Level 30) und niedriger aktiviert oder deaktiviert. Unter Android 12 (API-Level 31) und höher unterstützen große Bildschirme den Multifenstermodus unabhängig vom Attribut. Weitere Informationen finden Sie unter Unterstützung des Multifenstermodus.

✓ Empfohlen

Aktivieren Sie für Ihre App die Unterstützung von Mehrfenster- und Multitasking-Szenarien, um die Produktivität und Zufriedenheit der Nutzer zu steigern.

Legen Sie resizeableActivity="true" fest, wenn Ihre App auf API-Levels unter 24 ausgerichtet ist. Andernfalls ist das nicht erforderlich, da Android 7.0 (API-Level 24) und höher standardmäßig true verwendet.

✗ Nicht

Legen Sie resizeableActivity="false" für keine API-Ebene fest. Schließen Sie Ihre App nicht von Anwendungsfällen aus, die den Mehrfenstermodus umfassen.

Ausrichtung

Adaptive Apps unterstützen das Hoch- und Querformat unabhängig von der Displaygröße oder dem Fenstermodus.

Mit der Manifesteinstellung screenOrientation wird die Ausrichtung von Aktivitäten eingeschränkt.

✓ Empfohlen

Entfernen Sie die Einstellung screenOrientation aus Ihrem App-Manifest.

Wenn Sie die Ausrichtung von Apps sperren, wird die Änderung der Fenstergröße nicht verhindert. Die Größe von Apps wird geändert, wenn der Modus „Mehrere Fenster“ aktiviert wird, wenn ein Gerät aufgeklappt oder zugeklappt wird oder wenn die Größe eines Desktopfensters geändert wird. Ihre App muss unabhängig von der Einstellung des screenOrientation-Attributs Änderungen der Fenstergröße unterstützen.

✗ Nicht

Beschränken Sie die Ausrichtung der Aktivitäten nicht. Bei Apps, bei denen die Ausrichtung fixiert ist, wird auf Geräten mit großen Bildschirmen und bei inkompatiblen Fenstergrößen ein Letterbox-Effekt verwendet.

Apps mit Letterbox-Effekt sind bei Tablets, faltbaren Geräten und ChromeOS-Geräten bei Google Play weniger sichtbar.

Seitenverhältnis

Da Bildschirm- und Fenstergrößen variieren, variieren auch ihre Seitenverhältnisse – von hoch und schmal über quadratisch bis hin zu kurz und breit.

Mit den Manifest-Einstellungen minAspectRatio und maxAspectRatio wird das Seitenverhältnis Ihrer App auf hartcodierte Werte beschränkt.

✓ Empfohlen

Ihre App sollte unabhängig von den relativen Abmessungen an das Display angepasst werden.

Entfernen Sie die minAspectRatio- und maxAspectRatio-Einstellungen aus Ihrem App-Manifest. Alternativ können Sie dafür sorgen, dass Ihre App skalierbar ist, damit das Seitenverhältnis automatisch angepasst wird (siehe Abschnitt Skalierbar).

✗ Nicht

Versuchen Sie nicht, die relativen Abmessungen Ihrer App zu steuern. Wenn Ihre App auf einem Bildschirm oder in einem Fenster mit einem Seitenverhältnis ausgeführt wird, das nicht mit dem Seitenverhältnis der App kompatibel ist, wird Ihre App letterboxed.

Unter Android 14 (API-Level 34) und höher können Nutzer das Seitenverhältnis der App überschreiben, um letterbox-Apps so zu maximieren, dass sie den gesamten verfügbaren Bildschirmbereich ausfüllen. Weitere Informationen finden Sie unter Modus für die Gerätekompatibilität.

Fenstergröße

Die Optimierung von Layouts für unterschiedliche Bildschirmgrößen ist die zentrale Prämisse des responsiven Designs. Bei adaptiven Apps liegt der Fokus auf der App-Fenstergröße und nicht auf der Bildschirmgröße des Geräts. Wenn die App im Vollbildmodus ist, ist das App-Fenster das Display des Geräts.

Fenstergrößenklassen bieten eine systematische Möglichkeit, die Größe des App-Fensters zu bestimmen und zu kategorisieren. Passen Sie Ihre App an, indem Sie die Layouts ändern, wenn sich die Fenstergrößenklasse Ihrer App ändert.

✓ Empfohlen

Bewerten Sie die Größe des App-Fensters anhand von Fenstergrößenklassen.

Verwenden Sie die oberste Funktion currentWindowAdaptiveInfo() der Compose Material 3 Adaptive-Bibliothek, um die Fenstergrößenklasse zu bestimmen. Weitere Informationen finden Sie unter Adaptive Apps erstellen.

✗ Nicht

Die Nützlichkeit der Klassendefinitionen für die Fenstergröße und die integrierten APIs sollten Sie nicht außer Acht lassen. Verwenden Sie keine veralteten APIs, um die Fenstergröße zu berechnen.

Eingestellte APIs

Ältere Plattform-APIs messen das App-Fenster nicht korrekt. Einige messen den Gerätebildschirm, andere schließen Systemdekor aus.

✓ Empfohlen

Verwende WindowManager#getCurrentWindowMetrics() und WindowMetrics#getBounds(), um die Größe des App-Fensters abzurufen. Verwenden Sie WindowMetrics#getDensity(), um die Displaydichte abzurufen.

✗ Nicht

Verwenden Sie die folgenden eingestellten Display APIs nicht, um die Fenstergröße zu bestimmen:

Schreiben

Jetpack Compose wurde für die Entwicklung adaptiver UIs entwickelt. Keine XML-Dateien, keine Layoutdateien, keine Ressourcenqualifizierer. Verwenden Sie nur Kotlin-basierte, zustandslose Compose-Elemente wie Column, Row und Box, um Ihre Benutzeroberfläche zu beschreiben, und Modifikatoren wie offset, padding und size, um UI-Elementen Verhalten hinzuzufügen.

✓ Empfohlen

Mit Compose erstellen Bleiben Sie über die neuesten Funktionen und Releases auf dem Laufenden.

✗ Nicht

Verlassen Sie sich nicht auf veraltete Technologien. Achten Sie darauf, dass Ihre App nicht veraltet.

Material 3 Adaptive Library erstellen

Die Compose Material 3 Adaptive Library bietet Komponenten und APIs, die die Entwicklung adaptiver Apps erleichtern.

✓ Empfohlen

Mit den folgenden APIs können Sie Ihre App adaptiv gestalten:

✗ Nicht

Sie müssen das Rad nicht neu erfinden. Lassen Sie sich die Produktivitätssteigerungen durch die Jetpack Compose-Bibliotheken nicht entgehen.

Layouts

Nutzer erwarten, dass Apps den verfügbaren Bildschirmplatz mit ergänzenden Inhalten oder erweiterten Steuerelementen optimal nutzen.

In adaptiven Apps werden Layouts basierend auf Änderungen am Display optimiert, insbesondere auf Änderungen an der Größe des App-Fensters oder an der Geräteausrichtung.

✓ Empfohlen

Ändern Sie die UI-Komponenten, wenn sich die Fenstergröße ändert, um den verfügbaren Bildschirmplatz optimal zu nutzen. Sie können beispielsweise die untere Navigationsleiste, die in kompakten Fenstergrößen verwendet wird, durch eine vertikale Navigationsleiste in mittleren und maximierten Fenstern ersetzen. Positionieren Sie Dialogfelder so, dass sie auf allen Bildschirmen erreichbar sind.

Sie können Inhalte in Bereiche unterteilen, um Layouts mit mehreren Bereichen zu ermöglichen, z. B. einen Listenbereich mit einem Detailbereich für dynamische Inhalte.

✓ Empfohlen:Aktivitäten in einem zweispaltigen Layout auflisten und Details dazu angeben.
✗ Nicht

Wenn Sie keine Inhaltsbereiche verwenden, sollten Sie die UI-Elemente nicht einfach so strecken, dass sie den gesamten verfügbaren Bildschirmbereich ausfüllen. Lange Textzeilen sind schwer zu lesen. Gestreckte Schaltflächen wirken schlecht gestaltet. Wenn Sie Modifier.fillMaxWidth verwenden, sollten Sie nicht davon ausgehen, dass dies für alle Bildschirmgrößen das richtige Verhalten ist.

✗ Nicht tun:Das Layout wird so gedehnt, dass es das erweiterte Fenster füllt.

Eingabegeräte

Nutzer verwenden nicht nur Touchscreens, um mit Apps zu interagieren.

Adaptive Apps unterstützen externe Tastaturen, Mäuse und Eingabestifte, um die Nutzerfreundlichkeit zu verbessern und Nutzern zu helfen, auf allen Arten von Formfaktoren produktiver zu sein.

✓ Empfohlen

Nutzen Sie die integrierten Funktionen des Android-Frameworks für die Tastaturnavigation und das Klicken, Auswählen und Scrollen mit der Maus oder dem Touchpad. Veröffentlichen Sie die Tastenkombinationen Ihrer App in der Hilfe zu Tastenkombinationen.

Mit der Material 3-Bibliothek von Jetpack können Nutzer mit einem Eingabestift in jede TextField-Komponente schreiben.

✗ Nicht

Alternative Eingabemethoden dürfen nicht unmöglich gemacht werden. Sie dürfen keine Probleme mit der Barrierefreiheit verursachen.

Zusammenfassung

  • App mit Compose und der Material 3 Adaptive Library erstellen
  • Layouts an Fenstergrößenklassen ausrichten
  • Layouts mit mehreren Ansichten erstellen
  • App skalierbar machen
  • Ausrichtung der Aktivität nie sperren
  • Seitenverhältnis nicht einschränken
  • Unterstützung anderer Eingabemethoden als Touchbedienung
  • Veraltete APIs vermeiden

✓ Erfüllen Sie die Erwartungen Ihrer Nutzer: Optimieren Sie Ihre App für die Vielfalt der Geräte, die Nutzer täglich verwenden.

✗ Warten Sie nicht. Jetzt loslegen