Adaptive Empfehlungen

Adaptive Apps unterstützen Displays aller Größen: den gesamten Gerätebildschirm, ihre Größe kann angepasst werden Fenster im Mehrfenstermodus, Hoch- und Querformat, zusammengeklappt und aufgeklappten Displays von faltbaren Geräten.

Mit einer kurzen Liste von Konfigurationseinstellungen und APIs können Sie adaptive Apps. Einige veraltete Einstellungen und APIs sind jedoch nicht mit adaptiven Apps kompatibel. und ist zu vermeiden.

Größenanpassung

Adaptive Apps unterstützen die Größenanpassung von Apps und den Mehrfenstermodus.

Das Attribut resizeableActivity von <activity> und Manifest-Elemente von <application> aktivieren oder deaktivieren den Mehrfenstermodus unter Android 11 (API-Level 30) und niedriger verwenden. Android 12 (API-Level 31) und unterstützen große Bildschirme den Mehrfenstermodus unabhängig vom . Weitere Informationen finden Sie unter Unterstützung des Mehrfenstermodus.

✓ Das sollten Sie tun

Ermöglichen Sie es Ihrer App, Teilnehmer im Mehrfenstermodus und Multitasking zu nutzen, Produktivität und Zufriedenheit der Nutzenden zu steigern.

Lege resizeableActivity="true" fest, wenn deine App auf API-Level unter 24 ausgerichtet ist. Andernfalls sollten Sie es vergessen – es ist standardmäßig true unter Android 7.0 (API Level 24) und höher.

✗ Nicht empfohlen

Lege resizeableActivity="false" für kein API-Level fest. App nicht ausschließen aus Anwendungsfällen, die den Mehrfenstermodus beinhalten.

Ausrichtung

Adaptive Apps unterstützen das Hoch- und Querformat unabhängig vom Bildschirm oder Fenstermodus.

Die Manifesteinstellung screenOrientation schränkt die Ausrichtung der Aktivität ein.

✓ Das sollten Sie tun

Entferne die Einstellung „screenOrientation“ aus deinem App-Manifest.

Das Sperren der Ausrichtung von Apps verhindert nicht, dass die Fenstergröße geändert wird. Apps sind die Größe angepasst wird, wenn sie in den Mehrfenstermodus wechseln, wenn ein Gerät auf- oder zugeklappt wird, oder die Größe eines Fensters im freien Format ändert. Deine App muss Änderungen im Fenster unterstützen Größe unabhängig von der Attributeinstellung screenOrientation.

✗ Nicht empfohlen

Schränken Sie die Ausrichtung der Aktivität nicht ein. Apps, bei denen die Ausrichtung gesperrt wird, werden im Letterbox-Format angezeigt auf Geräten mit großen Bildschirmen und inkompatiblen Fenstergrößen.

Apps mit Letterbox-Bild werden seltener bei Google Play gefunden für Tablets, faltbare Smartphones und ChromeOS-Geräte.

Seitenverhältnis

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

Die Manifest-Einstellungen minAspectRatio und maxAspectRatio sind eingeschränkt das Seitenverhältnis Ihrer App in hartcodierte Werte.

✓ Das sollten Sie tun

Passe deine App unabhängig von den relativen Abmessungen an die Bildschirmgröße an.

Entfernen Sie die Einstellungen für minAspectRatio und maxAspectRatio aus Ihrer App. Manifests. Sie können auch dafür sorgen, dass die Größe der App angepasst werden kann und das Seitenverhältnis automatisch angepasst wird. Weitere Informationen dazu finden Sie im Abschnitt Größenanpassung.

✗ Nicht empfohlen

Versuchen Sie nicht, die relativen Abmessungen Ihrer App festzulegen. Wenn Ihre App auf einem Bildschirm oder in einem Fenster mit einem Seitenverhältnis, das nicht mit dem Seitenverhältnis der App hat, wird Ihre App im Letterbox-Format dargestellt.

Unter Android 14 (API-Level 34) und höher können Nutzer das Seitenverhältnis der App überschreiben , um Apps mit Letterbox-Bild so zu erweitern, dass sie den verfügbaren Anzeigebereich ausfüllen. Siehe Gerät Kompatibilitätsmodus.

Fenstergröße

Die Optimierung von Layouts für verschiedene Displaygrößen ist die adaptives Design. Adaptive Apps konzentrieren sich auf die Größe des App-Fensters, nicht auf das Gerät Bildschirmgröße. Wenn die App im Vollbildmodus angezeigt wird, ist das App-Fenster der Gerätebildschirm.

Fenstergrößenklassen bieten eine systematische Methode zur Bestimmung und Kategorisierung die Größe des App-Fensters. Passen Sie Ihre App an, indem Sie Layouts als Fenster ändern die Größenklasse der App ändert.

✓ Das sollten Sie tun

Beurteilen Sie die Größe Ihres App-Fensters anhand der Fenstergrößenklassen.

Verwenden Sie zum Ermitteln der Fenstergrößenklasse die currentWindowAdaptiveInfo() Funktion auf oberster Ebene der Adaptive-Bibliothek für „Material 3 erstellen“. Weitere Informationen finden Sie unter Adaptive Apps erstellen.

✗ Nicht empfohlen

Ignorieren Sie den Nutzen der Fenstergrößenklassendefinitionen und die integrierte APIs. Verwenden Sie zum Berechnen der Fenstergröße keine verworfenen APIs.

Verworfene APIs

Ältere Plattform-APIs messen das App-Fenster nicht korrekt. messen einige die Gerätebildschirm, einige ohne Systemeinrichtung.

✓ Das sollten Sie tun

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

✗ Nicht empfohlen

Verwenden Sie zum Ermitteln der Fenstergröße nicht die folgenden eingestellten Display APIs:

Schreiben

Jetpack Compose wurde für die Entwicklung adaptiver Benutzeroberflächen entwickelt. Kein XML, kein Layout und keine Ressourcenqualifizierer. Nur Kotlin-basierte, zustandslose zusammensetzbare Funktionen wie Column, Row und Box, die deine UI und Modifikatoren beschreiben wie offset, padding und size, die Funktionen zur Benutzeroberfläche hinzufügen. Elemente.

✓ Das sollten Sie tun

Mit „Compose“ erstellen. Bleiben Sie bezüglich der neuesten Funktionen und Releases auf dem Laufenden.

✗ Nicht empfohlen

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

Adaptive-Bibliothek aus Material 3 erstellen

Die Bibliothek Compose Material 3 Adaptive Library enthält Komponenten und APIs, die die Entwicklung adaptiver Apps erleichtern.

✓ Das sollten Sie tun

Verwenden Sie die folgenden APIs, um Ihre App anpassungsfähig zu machen:

  • NavigationSuiteScaffold: Wechselt zwischen der Navigationsleiste und je nach Größe des App-Fensters.
  • ListDetailPaneScaffold: Implementiert das kanonische Layout mit Listendetails. Das Layout wird an die Größe des App-Fensters angepasst.
  • SupportingPaneScaffold: Implementiert die kanonische Seite, die zur Unterstützung passt Layout.
✗ Nicht empfohlen

Erfinde das Rad nicht neu. Lassen Sie sich die Produktivitätssteigerungen für Entwickler nicht entgehen die von allen Jetpack Compose-Bibliotheken bereitgestellt werden.

Layouts

Nutzer erwarten, dass Apps die verfügbare Displayfläche optimal nutzen, indem zusätzliche oder erweiterte Steuerelemente nutzen.

Adaptive Apps optimieren Layouts basierend auf Änderungen am Display, insbesondere Änderungen der Größe des App-Fensters oder des Gerätestatus.

✓ Das sollten Sie tun

Ändern Sie UI-Komponenten, wenn sich die Fenstergröße ändert, um verfügbare Werbefläche. Sie können beispielsweise die Navigationsleiste unten in der Fenstergrößen für eine vertikale Navigationsleiste bei mittleren und erweiterten Fenstern Dialogfelder so neu positionieren, dass sie auf allen Bildschirmen erreichbar sind.

Organisiere Inhalte in Bereichen, um Mehrfensterlayouts wie Listenansicht mit Details und Bereich für die Unterstützung dynamischer Inhalte

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">
</ph> ✓ Empfohlen: Sie können Aktivitäten auflisten und detailliert in einem Dual-Pane-Layout organisieren.
✗ Nicht empfohlen

Wenn Sie keine Inhaltsbereiche verwenden, dehnen Sie nicht nur UI-Elemente, um Anzeigefläche verfügbar ist. Lange Textzeilen sind schwer zu lesen. Gestreckt Schaltflächen sehen schlecht aus. Wenn Sie Modifier.fillMaxWidth verwenden, sollten Sie wird davon ausgegangen, dass dies für alle Displaygrößen richtig ist.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">
</ph> ✗ Nicht zulässig: Das Layout wird so gestreckt, dass das maximierte Fenster ausgefüllt wird.

Eingabegeräte

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

Adaptive Apps unterstützen externe Tastaturen, Mäuse und Eingabestifte. die User Experience verbessert und die Produktivität der Nutzenden bei alle möglichen Arten.

✓ Das sollten Sie tun

Nutzen Sie die integrierten Funktionen des Android-Frameworks für Bedienung über die Tastatur und per Maus oder Touchpad klicken, auswählen und scrollen. Veröffentlichen finden Sie im Hilfsprogramm für Tastenkombinationen.

Verwenden Sie die Jetpack-Material 3-Bibliothek, damit Nutzer in beliebige TextField-Komponente mit einem Eingabestift

✗ Nicht empfohlen

Machen Sie alternative Eingabemethoden nicht unmöglich. Keine Einführung in die Barrierefreiheit Probleme.

Zusammenfassung

  • App mit „Compose“ und der „Material 3 Adaptive Library“ erstellen
  • Layouts auf Fenstergrößenklassen basieren
  • Mehrfensterlayouts erstellen
  • Größe der App anpassen
  • Ausrichtung der Aktivität nie sperren
  • Seitenverhältnis nicht einschränken
  • Eingabe außerhalb der Berührung unterstützen
  • Verworfene APIs vermeiden

Die Erwartungen Ihrer Nutzer erfüllen: deine App für die Vielfalt der Geräte zu optimieren, mit denen Nutzer tagtäglich arbeiten.

✗ Nicht warten. Legen Sie noch heute los!