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.
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.
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.
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
.
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.
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.
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.
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.
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.
Verwenden Sie WindowManager#getCurrentWindowMetrics()
und
WindowMetrics#getBounds()
, um die Größe des App-Fensters abzurufen. Verwenden Sie
WindowMetrics#getDensity()
, um den Kompaktheitsgrad zu ermitteln.
Verwenden Sie zum Ermitteln der Fenstergröße nicht die folgenden eingestellten Display
APIs:
getSize()
: In Android 11 (API-Level 30) eingestelltgetMetrics()
: In Android 11 (API-Level 30) eingestelltgetRealSize()
: In Android 12 (API-Level 31) eingestelltgetRealMetrics()
: In Android 12 (API-Level 31) eingestellt
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.
Mit „Compose“ erstellen. Bleiben Sie bezüglich der neuesten Funktionen und Releases auf dem Laufenden.
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.
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.
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.
Ä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">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.
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.
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
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!