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 ständig und Nutzer verwenden Apps auf mehr Geräten als je zuvor – von Smartphones und Foldables über Tablets, Smart Displays und Chromebooks bis hin zu Displays in geparkten Autos.
WindowManager 1.5 konzentriert sich darauf, bessere Tools für diese vielfältige Geräteumgebung bereitzustellen.
Neu in WindowManager 1.5
In diesem stabilen Release werden neue Haltepunkte für sehr große Bildschirme 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 Fenstergrößenklassen für die Breite: „Groß“ und „Extragroß“.
Fenstergrößenklassen sind unsere offiziellen, vordefinierten Haltepunkte für Darstellungsbereiche, mit denen Sie adaptive Layouts entwerfen und entwickeln können. Mit Version 1.5 erweitern wir diese Richtlinien für Bildschirme, die über typische Tablets hinausgehen.
Hier sind die neuen Haltepunkte für die Breite:
- Groß:Für Breiten zwischen 1.200 dp und 1.600 dp
- Sehr 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 verbundene Displays. Nutzer können ein externes Display an ihr Gerät anschließen und es so in ein desktopähnliches Tool mit großem Bildschirm verwandeln.
Smartphone, das mit einem externen Display verbunden ist, auf dem eine Desktop-Sitzung angezeigt wird.
Da diese neue Funktion verfügbar ist, sind konkrete Empfehlungen zur Einbeziehung größerer Displays entscheidend.
Auf diesen sehr großen Oberflächen ist es nicht immer die beste Nutzererfahrung, einfach das erweiterte Layout eines Tablets hochzuskalieren. Ein E-Mail-Client kann beispielsweise in der Fenstergrößenklasse „Erweitert“ zwei Bereiche (ein Postfach und eine Nachricht) anzeigen. Auf einem extragroßen Desktopmonitor könnte der E-Mail-Client jedoch elegant drei oder sogar vier Bereiche anzeigen – vielleicht ein Postfach, eine Nachrichtenliste, den vollständigen Nachrichteninhalt und einen Kalender-/Aufgabenbereich, alles auf einmal.
Durch die Bereitstellung offizieller Haltepunkte für sehr große Displaygrößen gibt WindowManager 1.5 Ihnen ein klares Signal, Layouts einzuführen, die speziell für eine produktive, informationsreiche Desktop-Nutzung entwickelt wurden.
Die Fenstergrößenklassen können mit computeWindowSizeClass() berechnet werden. Dies ist eine Erweiterungsfunktion der androidx.window.core.layout-Bibliothek, die den Typ Set<WindowSizeClass> erweitert.
Wenn Sie die neuen Fenstergrößenklassen in Ihr Projekt aufnehmen möchten, rufen Sie einfach die Funktion 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 Benutzeroberflächen erstellen, die sich automatisch an die aktuellen Fensterkonfigurationen wie Fenstergrößenklassen oder Gerätepositionen anpassen.
Die gute Nachricht ist, dass die Bibliothek bereits mit den neuen Breakpoints auf dem neuesten Stand ist. Ab Version 1.2 (derzeit in der Releasekandidat-Phase) unterstützen die Standardfunktionen der Scaffold-Anweisung für Bereiche die Fensterbreitenklassen „Groß“ und „Extragroß“.
Sie müssen nur in Ihrer Gradle-Build-Datei angeben, dass Sie die neuen Haltepunkte verwenden möchten:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
Weitere Verbesserungen
- Aktivitätseinbettung – automatisches Speichern und Wiederherstellen: WindowManager kann jetzt den Status Ihrer Splits für die Aktivitätseinbettung automatisch speichern und wiederherstellen. So bleibt das Layout des Nutzers auch bei der Neuerstellung des Prozesses erhalten, was zu einer stabileren und konsistenteren Nutzung führt. Entwickler müssen den Status nicht mehr manuell speichern und wiederherstellen, sondern können die automatische Speicherung einfach aktivieren, indem sie die Property EmbeddingConfiguration#isAutoSaveEmbeddingState festlegen.
- Erweiterte WindowMetrics: WindowMetrics können jetzt nicht nur aus einem Aktivitätskontext, sondern auch aus einem Anwendungskontext berechnet werden. So können Sie flexibler von verschiedenen Teilen Ihrer App auf Fensterinformationen zugreifen.
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 neueste 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 in Richtung vollständig adaptiver Apps, die auf allen Android-Formfaktoren funktionieren. Eine vollständige Liste der Änderungen und Fehlerkorrekturen finden Sie in den offiziellen Versionshinweisen.
Viel Spaß beim Programmieren!
-
ProduktneuigkeitenWir freuen uns, einen wichtigen Meilenstein bei der Zusammenführung von Mobil- und Desktop-Computing auf Android-Geräten bekannt geben zu können: Die Unterstützung für verbundene Displays ist mit dem Android 16 QPR3-Release allgemein verfügbar.
Francesco Romano • Lesezeit: 7 Minuten -
ProduktneuigkeitenApps, die auf die kommende Android-Version ausgerichtet sind, können mit der Berechtigung WRITE_CONTACTS nicht mehr direkt in Kontakte schreiben.
Roxanna Aliabadi Walker • Lesezeit: 6 Minuten -
ProduktneuigkeitenDie Entwicklung von KI-Agenten schreitet rasant voran und die Android-Entwicklung erreicht einen spannenden neuen Meilenstein: von der unterstützenden Codevervollständigung hin zu KI-Agenten, die unter Ihrer Anleitung End-to-End-Aufgaben ausführen. Sie haben die volle Auswahl und Flexibilität bei den Modellen und Agents, die Sie verwenden.
Jason Buchel • Lesezeit: 3 Minuten
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.