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 Foldables ü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.
Neuerungen in WindowManager 1.5
Mit dieser stabilen Version 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 Änderung 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 Breakpoints für den Darstellungsbereich, die Ihnen beim Entwerfen und Entwickeln adaptiver Layouts helfen. Mit Version 1.5 erweitern wir diese Anleitung auf Bildschirme, die über typische Tablets hinausgehen.
Das sind die neuen Breiten-Breakpoints:
- Groß:Für Breiten zwischen 1.200 und 1.600 dp
- Extragroß: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 ist mit einem externen Display verbunden und auf dem externen Display wird eine Desktop-Sitzung angezeigt.
Da diese neue Funktion verfügbar ist, ist eine fundierte Anleitung zur Einbeziehung größerer Displays unerlässlich.
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 in der Fenstergrößenklasse „Maximiert“ problemlos 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 gleichzeitig anzeigen – vielleicht ein Postfach, eine Nachrichtenliste, den vollständigen Nachrichteninhalt und einen Kalender-/Aufgabenbereich.
Mit den offiziellen Breakpoints für sehr große Displays in WindowManager 1.5 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ätepositionen anpassen.
Die gute Nachricht ist, dass die Bibliothek bereits auf dem neuesten Stand ist und die neuen Breakpoints unterstützt. Ab Version 1.2 (derzeit Release Candidate) 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
- Einbettung von Aktivitäten – automatisches Speichern und Wiederherstellen: WindowManager kann jetzt den Status der Splits für die Einbettung von Aktivitäten automatisch speichern und wiederherstellen. So bleibt das Layout des Nutzers auch nach dem erneuten Erstellen 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 durch Festlegen der Eigenschaft EmbeddingConfiguration#isAutoSaveEmbeddingState aktivieren.
- Erweiterte WindowMetrics: Sie können WindowMetrics jetzt aus einem Anwendungskontext und nicht nur aus einem Aktivitätskontext 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 allen 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!
-
ProduktneuigkeitenWir freuen uns, einen wichtigen Meilenstein auf dem Weg zu einer engeren Verbindung von Mobilgeräten und Computern unter 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 -
ProduktneuigkeitenWir erweitern unsere Abo-Plattform auf Google Play kontinuierlich, damit Sie Ihren Umsatz steigern, sich an neue Geschäftsmodelle anpassen und Ihre Nutzer dort erreichen können, wo sie sich gerade befinden.
Sheenam Mittal • Lesezeit: 4 Minuten -
ProduktneuigkeitenLetztes Jahr wurde Android Studio für alle KI-Modelle geöffnet. Heute gehen wir den nächsten Schritt und führen Unterstützung für Coding-Agents Ihrer Wahl ein.
Matthew Warner • Lesezeit: 3 Minuten
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.