Wir freuen uns, Ihnen mitteilen zu können, dass Jetpack WindowManager 1.5.0 jetzt stabil ist.
Diese Version baut auf der starken Grundlage der Anpassungsfähigkeit in WindowManager auf und macht es noch einfacher, ansprechende, adaptive Benutzeroberflächen zu erstellen, die auf allen Bildschirmgrößen gut aussehen. Das Android-Ökosystem wächst stetig und Nutzer interagieren mit Apps auf einer Vielzahl von Geräten – von Smartphones und faltbaren Geräten über Tablets, vernetzte Displays und Chromebooks bis hin zu Autodisplays im geparkten Modus.
WindowManager 1.5 bietet bessere Tools für diese vielfältige Geräteumgebung.
Neu in WindowManager 1.5
In diesem stabilen Release werden neue Breakpoints für sehr große Displays eingeführt, die API zum Einbetten von Aktivitäten wird verbessert und die Berechnung von Fenstermesswerten wird flexibler.
Neue Fenstergrößenklassen: „Groß“ und „Extragroß“
Die größte Neuerung in Version 1.5 ist die Einführung von zwei neuen Klassen für die Fensterbreite: „Large“ und „Extra-large“.
Fenstergrößenklassen sind unsere offiziellen, meinungsbasierten Viewport-Breakpoints, die Ihnen beim Entwerfen und Entwickeln adaptiver Layouts helfen. Mit Version 1.5 weiten wir diese Richtlinien auf Bildschirme aus, die über typische Tablets hinausgehen.
Das sind die neuen Breiten-Breakpoints:
- Groß:Für Breiten zwischen 1.200 und 1.600 dp
- Extra groß:Für Breiten ≥1.600 dp
Die verschiedenen Fenstergrößenklassen basierend auf der Displaybreite.
Warum sind diese wichtig?
Ab Android 16 QPR1 Beta 2 unterstützt Android angeschlossene Displays. Nutzer können also ein externes Display an ihr Gerät anschließen und es so in ein großes Display verwandeln, das sich wie ein Desktop nutzen lässt.
Smartphone mit einem externen Display verbunden, auf dem eine Desktop-Sitzung läuft.
Da diese neue Funktion verfügbar ist, ist es wichtig, dass wir eine klare Empfehlung für größere Displays aussprechen.
Auf diesen sehr großen Oberflächen ist das einfache Hochskalieren des erweiterten Layouts eines Tablets nicht immer die beste Lösung. Ein E‑Mail-Client kann beispielsweise bequem zwei Bereiche (ein Postfach und eine Nachricht) in der Fenstergrößenklasse „Maximiert“ anzeigen. Auf einem extragroßen Desktopmonitor könnte der E‑Mail-Client jedoch elegant drei oder sogar vier Bereiche gleichzeitig anzeigen – vielleicht ein Postfach, eine Nachrichtenliste, den vollständigen Nachrichteninhalt und einen Kalender-/Aufgabenbereich.
WindowManager 1.5 bietet offizielle Breakpoints für sehr große Displays. So erhalten Sie ein klares Signal, um Layouts einzuführen, die speziell für eine produktive, informationsreiche Desktopumgebung entwickelt wurden.
Die Fenstergrößenklassen können mit computeWindowSizeClass() berechnet werden. Das ist eine androidx.window.core.layout-Bibliotheks-Erweiterungsfunktion, die den Typ Set<WindowSizeClass> erweitert.
Wenn Sie die neuen Fenstergrößenklassen in Ihr Projekt einbeziehen möchten, rufen Sie die Funktion einfach aus dem Set WindowSizeClass.BREAKPOINTS_V2 anstelle von WindowSizeClass.BREAKPOINTS_V1 auf:
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
Wenden Sie dann das richtige Layout an, wenn Sie sicher sind, dass Ihre App mindestens so viel Platz hat:
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}Adaptive Bibliotheken
Mit der Compose Material 3 Adaptive-Bibliothek können Sie adaptive UIs erstellen, die sich automatisch an die aktuellen Fensterkonfigurationen wie Fenstergrößenklassen oder Gerätestatus anpassen.
Die gute Nachricht ist, dass die Bibliothek bereits auf dem neuesten Stand ist und die neuen Breakpoints unterstützt. Ab Version 1.2 (jetzt in der Release-Candidate-Phase) unterstützen die Standard-Pane-Scaffold-Direktiven die Größenklassen „Large“ und „Extra-large“ für die Fensterbreite.
Sie müssen die neuen Breakpoints nur aktivieren, indem Sie in Ihrer Gradle-Build-Datei deklarieren, dass Sie sie verwenden möchten:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
Weitere Verbesserungen
- Activity Embedding – automatisches Speichern und Wiederherstellen: WindowManager kann jetzt automatisch den Status Ihrer Activity Embedding-Aufteilungen speichern und wiederherstellen. So bleibt das Layout des Nutzers auch nach dem erneuten Erstellen des Prozesses erhalten, was zu einer stabileren und konsistenteren Nutzererfahrung führt. Entwickler müssen den Status nicht mehr manuell speichern und wiederherstellen, sondern können die automatische Speicherung einfach aktivieren, indem sie die Eigenschaft EmbeddingConfiguration#isAutoSaveEmbeddingState festlegen.
- Erweiterte WindowMetrics: Sie können WindowMetrics jetzt nicht nur im Activity-Kontext, sondern auch im Application-Kontext berechnen. Dadurch haben Sie mehr Flexibilität beim Zugriff auf Fensterinformationen aus verschiedenen Teilen Ihrer App.
Erste Schritte
Wenn Sie die neuen Größenklassen „Groß“ und „Extragroß“ sowie andere Funktionen von Version 1.5 in Ihren Android-Projekten verwenden möchten, aktualisieren Sie die App-Abhängigkeiten in build.gradle.kts auf die aktuelle stabile Version:
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}WindowManager 1.5 ist ein weiterer Schritt nach vorn bei der Entwicklung vollständig adaptiver Apps, die auf verschiedenen Android-Formfaktoren ausgeführt werden können. Eine vollständige Liste der Änderungen und Fehlerkorrekturen finden Sie in den offiziellen Versionshinweisen.
Viel Spaß beim Programmieren!
Weiterlesen
-
Produktneuheiten
Wir freuen uns, einen wichtigen Meilenstein auf dem Weg zu einer engeren Verbindung von Mobilgeräten und Computern auf Android bekannt zu geben: Die Unterstützung für verbundene Displays ist mit der Veröffentlichung von Android 16 QPR3 allgemein verfügbar.
Francesco Romano • Lesezeit: 7 Minuten
-
Produktneuheiten
Wir bei Google Play möchten Nutzern die bestmögliche Erfahrung bieten und gleichzeitig dafür sorgen, dass Entwickler die Tools und Flexibilität haben, die sie für ihren Erfolg benötigen.
Paul Feng • Lesezeit: 3 Minuten
-
Produktneuheiten
Letztes Jahr haben wir die Bestätigung für Android-Entwickler eingeführt, um die Sicherheit des Ökosystems zu erhöhen und böswillige Akteure daran zu hindern, schädliche Apps zu veröffentlichen, ohne dass ihre Identität bekannt ist.
Matthew Forsythe • Lesezeit: 2 Minuten
Auf dem Laufenden bleiben
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.