WindowManager
| Letzte Aktualisierung | Stabile Version | Releasekandidat | Betarelease | Alpha-Release | 
|---|---|---|---|---|
| 24. September 2025 | 1.5.0 | - | - | - | 
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von WindowManager hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovy
dependencies { implementation "androidx.window:window:1.5.0" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.5.0" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.5.0" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.5.0" // For testing implementation "androidx.window:window-testing:1.5.0" }
Kotlin
dependencies { implementation("androidx.window:window:1.5.0") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.5.0") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.5.0") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.5.0") // For testing implementation("androidx.window:window-testing:1.5.0") }
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem stimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.5
Version 1.5.0
24. September 2025
androidx.window:window-*:1.5.0 ist veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0:
- Fügen Sie WindowSizeClass-Haltepunkte für „Large“ und „XLarge“ hinzu. (I40d85)
- Berechnung von WindowMetricsauf den Anwendungskontext ausweiten. (I8eeeb, b/360934048)
- Stellen Sie eine Getter-Methode bereit, um den direkten Zugriff auf WindowLayoutInfozu ermöglichen (Ie9513)
- Einführung einer API zum automatischen Speichern des Einbettungsstatus und zum automatischen Wiederherstellen des Einbettungsstatus, wenn der App-Prozess neu gestartet wird. (Ie0295)
- Die experimentelle WindowInsets-API wurde entfernt. (I68a71)
Fehlerkorrekturen
- Es wurde ein Fehler behoben, durch den EmbeddingRulein einigen Fällen unterschiedlichehashCodezurückgegeben hat. (I748cc)
- Ein Fehler wurde behoben, der zu einem NullPointerExceptionaufgrund von Fehlern bei der Geräteimplementierung führen konnte.
- Wir haben ein Problem behoben, bei dem unsere ActivityEmbedding-Sicherheitsprüfungen fehlgeschlagen sind, weil ProGuard ungenutzte Klassen entfernt hat.
Externe Beiträge
- Fügen Sie window-core(If3d7c) alle KMP-Plattformen hinzu.
Version 1.5.0-rc01
27. August 2025
androidx.window:window-*:1.5.0-rc01 ist veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, der zu einem NullPointerExceptionaufgrund von Fehlern bei der Geräteimplementierung führen konnte.
- Wir haben ein Problem behoben, bei dem unsere ActivityEmbedding-Sicherheitsprüfungen fehlgeschlagen sind, weil ProGuard ungenutzte Klassen entfernt hat.
Version 1.5.0-beta02
13. August 2025
androidx.window:window-*:1.5.0-beta02 ist veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.
Neue Funktionen
- Kleinere Fehlerkorrekturen.
Externe Beiträge
- Fügen Sie window-core(If3d7c) alle KMP-Plattformen hinzu.
Version 1.5.0-beta01
2. Juli 2025
androidx.window:window-*:1.5.0-beta01 ist veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
Version 1.5.0-alpha02
7. Mai 2025
androidx.window:window-*:1.5.0-alpha02 ist veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
API-Änderungen
- Fügen Sie WindowSizeClass-Haltepunkte für „Large“ und „XLarge“ hinzu. (I40d85)
- Berechnung von WindowMetricsauf den Anwendungskontext ausweiten. (I8eeeb, b/360934048)
- Stellen Sie eine Getter-Methode bereit, um den direkten Zugriff auf WindowLayoutInfozu ermöglichen (Ie9513)
- Einführung einer API zum automatischen Speichern des Einbettungsstatus und zum automatischen Wiederherstellen des Einbettungsstatus, wenn der App-Prozess neu gestartet wird. (Ie0295)
- Die experimentelle WindowInsets-API wurde entfernt. (I68a71)
- Einige Konstruktoren ausblenden (I87b8d)
Fehlerkorrekturen
- Es wurde ein Fehler behoben, durch den EmbeddingRulein einigen Fällen unterschiedlichehashCodezurückgegeben hat. (I748cc)
Version 1.5.0-alpha01
12. März 2025
androidx.window:window-*:1.5.0-alpha01 ist veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Neue Funktionen
- Erste Version von Next 1.5.0.
Version 1.4
Version 1.4.0
20. Mai 2025
androidx.window:window-*:1.4.0 ist veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
- Einbettung von Aktivitäten
- API zum Anpassen der Startanimationen
- Interaktive Trennlinie
- ActivityStackAnpinnen
- Vollbild-Dialogfeld – Dimmen
- Callback für Informationen zum eingebetteten Aktivitätsfenster
- Verbesserte ActivityStack-Verwaltung
- Aktivität in einem bestimmten ActivityStackstarten
 
- WindowMetricsCalculator- Unterstützung für Testbarkeit verbessern
 
- WindowMetrics- Einfache Methoden zur Berechnung von withDpundheightDp
- Aktualisieren Sie die Grenzwertprüfung auf isAtLeastund verwenden Sie Untergrenzen, um das Hinzufügen neuer Werte zu unterstützen.
 
- Einfache Methoden zur Berechnung von 
- WindowSizeClass- Berechnungsmethode für WindowMetricshinzufügen
 
- Berechnungsmethode für 
- WindowInfoTracker- API zum Erkennen der unterstützten Körperhaltungen auf dem Gerät hinzugefügt
 
Version 1.4.0-rc02
23. April 2025
androidx.window:window-*:1.4.0-rc02 ist veröffentlicht. Version 1.4.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Behebe einen ProGuard-Absturz für ActivityEmbedding.
Version 1.4.0-rc01
12. März 2025
androidx.window:window-*:1.4.0-rc01 ist veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
Neue Funktionen
- Aktualisierungen der WindowSizeClassAPI
- Aktualisierungen der APIs zum Einbetten von Aktivitäten
Version 1.4.0-beta02
12. Februar 2025
androidx.window:window-*:1.4.0-beta02 ist veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.
Neue Funktionen
- Eine Anmerkung korrigieren, die nur für die Property, nicht aber für die Getter-Methode vorhanden war.
Version 1.4.0-beta01
15. Januar 2025
androidx.window:window-*:1.4.0-beta01 ist veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
Neue Funktionen
- Es wurde eine API hinzugefügt, mit der ActivityEmbedding-Animationen angepasst werden können.
- Maximieren Sie WindowMetricsCalculatorTest-APIs, um das Faken der Fenstermesswerte zu ermöglichen.
API-Änderungen
- Einige Konstruktoren ausblenden (I87b8d)
- Apps dürfen ActivityEmbedding-Animationen anpassen (If31a8)
- Unterstützung für das watchosDeviceArm64-KMP-Ziel und Kotlin 1.9 als Ziel hinzugefügt (Icf15d, b/364652024)
- WindowMetricsCalculator-APIs verfügbar machen. (I1cebf)
Fehlerkorrekturen
- In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict(dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers). (Ie69ac, b/326456246)
Version 1.4.0-alpha05
16. Oktober 2024
androidx.window:window-*:1.4.0-alpha05 ist veröffentlicht. Version 1.4.0-alpha05 enthält diese Commits.
Neue Funktionen
- Fügen Sie praktische Funktionen hinzu, um widthDpundheightDpausWindowMetricsabzurufen.
API-Änderungen
- Fügen Sie widthDpundheightDpzuWindowMetricshinzu. (Ide026)
- Die experimentelle WindowInsets-API wurde entfernt. (I68a71)
- Namen der Methoden zur Überprüfung von Grenzen auf isAtLeastaktualisieren (Ib0ab7)
Version 1.4.0-alpha04
2. Oktober 2024
androidx.window:window-*:1.4.0-alpha04 ist veröffentlicht. Version 1.4.0-alpha04 enthält diese Commits.
API-Änderungen
- Es wurde eine Methode zum Berechnen von WindowSizeClassausWindowMetricshinzugefügt. (874dba)
- Die WindowSizeClass-Methoden wurden zur besseren Verständlichkeit incontainsWidthDp,containsHeightDpundcontainsWindowSizeDpgeändert. (fa760d)
- Konvertiere WindowAreaControllerin eine abstrakte Basisklasse. (I90893)
Fehlerkorrekturen
- Unterstützung für relative Grenzen beim Erstellen eines Tests FoldingFeaturehinzugefügt. (2e6b3e)
- Allgemeine Fehlerkorrekturen bei der Auswahl eines WindowSizeClass.
Version 1.4.0-alpha03
18. September 2024
androidx.window:window-*:1.4.0-alpha03 ist veröffentlicht. Version 1.4.0-alpha03 enthält diese Commits.
Neue Funktionen
- Fügen Sie eine Hilfsmethode hinzu, um ein WindowSizeClassausWindowMetricsabzurufen. (I83f1f)
- Benennen Sie isAtLeastincontainsBreakpointum. (I85b47)
- Fügen Sie computeWindowSizeClasseine Überlastung mit Gleitkommazahlen hinzu. (I3dcb2, b/364677934, b/364677802, b/364680886)
Fehlerkorrekturen
- Fügen Sie dem Standard-WindowSizeClass-Haltepunktset fehlende Haltepunkte hinzu.
- Ein Fehler wurde behoben, bei dem in einigen Fällen keine kompakten Abmessungen ausgewählt wurden.
Version 1.4.0-alpha02
4. September 2024
androidx.window:window-*:1.4.0-alpha02 ist veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
Neue Funktionen
Unterstützung für benutzerdefinierte WindowSizeClass hinzugefügt.
- Öffnen Sie den Konstruktor für WindowSizeClass, damit Entwickler ihren eigenen verwenden können.
- Fügen Sie isAtLeast-Hilfsmethoden hinzu, damit Entwickler eine Reihe vonWindowSizeClass-Werten verarbeiten können.
- Fügen Sie eine Erweiterungsfunktion für Set<WindowSizeClass>hinzu, um die beste Übereinstimmung aus dem Set zu berechnen.
- Konstanten für die empfohlenen Android-Haltepunkte hinzufügen
- Fügen Sie den Haltepunkt-Satz hinzu, der den von Android empfohlenen Haltepunkten entspricht.
API-Änderungen
- Aktualisieren Sie die Namen der Methoden für die Begrenzungen für WindowSizeClass. (If89a6)
- Die WindowSizeClassAPI wurde aktualisiert, um das Hinzufügen neuer Haltepunktwerte in der Zukunft zu unterstützen. Anstelle von absoluten Grenzen verwenden wir die Untergrenzen und empfehlen Entwicklern, Untergrenzenprüfungen bei der Verarbeitung vonWindowSizeClasszu verwenden. Die bestehendenWindowWidthSizeClassundWindowHeightSizeClasswerden eingestellt, da sie nicht weiterentwickelt werden. (I014ce)
Version 1.4.0-alpha01
7. August 2024
androidx.window:window-*:1.4.0-alpha01 ist veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Neue Funktionen
- Mit ActivityStack Pinning können Apps Inhalte in einem Container anpinnen und die Navigation davon vom anderen Container isolieren.
- Mit Interactive Divider können Apps eine feste oder ziehbare Trennlinie zwischen den beiden Aktivitäten in einer geteilten Darstellung anzeigen.
- Mit Abdunklung von Vollbilddialogfeldern können Apps den Abdunklungsbereich des Dialogfelds angeben, um entweder das gesamte Aufgabenfenster oder nur den Container, in dem das Dialogfeld angezeigt wird, abzudunkeln.
- Mit dem Callback für Informationen zum eingebetteten Aktivitätsfenster können Apps kontinuierlich Updates zum eingebetteten Aktivitätsfenster erhalten.
- Mit Embedding Animation Background können Apps den Animationshintergrund angeben. Dadurch wird die Qualität der Übergangsanimation verbessert, wenn ActivityEmbeddingverwendet wird.
- Verbessertes ActivityStack-Management: Apps haben mehr Kontrolle über den ActivityStacks, wennActivityEmbeddingverwendet wird. Dazu gehören:
- Aktivität in einem bestimmten ActivityStackstarten
- ActivityStackabschließen
API-Änderungen
- Eine neue API - WindowInfoTracker#supportedPostures:- Eine API, mit der ermittelt werden kann, ob das Gerät den Tabletop-Modus für Faltgeräte unterstützt. WindowAreaSessionPresenter#getWindow wird hinzugefügt
 
- Fügen Sie APIs hinzu, um das Anpinnen von - ActivityStackzu unterstützen:- Klasse SplitPinRule
- SplitController#pinTopActivityStack
- SplitController#unpinTopActivityStack
 
- Klasse 
- APIs hinzufügen, um die interaktive Trennlinie zu aktivieren und zu konfigurieren - Klasse DividerAttributes
- SplitAttributes.Builder#setDividerAttributes
 
- Klasse 
- APIs zum Festlegen von - EmbeddingConfigurationund- DimAreaBehaviorfür Dialogfelder hinzugefügt- Klasse EmbeddingConfiguration
- Klasse DimAreaBehavior
- ActivityEmbeddingController#setEmbeddingConfiguration
 
- Klasse 
- APIs hinzufügen, um Updates zu Informationen zum eingebetteten Aktivitätsfenster zu erhalten - Klasse EmbeddedActivityWindowInfo
- ActivityEmbeddingController#embeddedActivityWindowInfo
 
- Klasse 
- APIs zum Festlegen des Hintergrunds für die Einbettungsanimation hinzufügen - EmbeddingAnimationBackground
- SplitAttributes.Builder#setAnimationBackground
 
- APIs hinzufügen, um - ActivityStacksabzuschließen- ActivityEmbeddingController#finishActivityStacks
 
- APIs zum Festlegen des Startens von - ActivityStackhinzufügen- ActivityEmbeddingOptions#setLaunchingActivityStack
 
- Die folgenden APIs sind stabil und nicht mehr experimentell: - ActivityEmbeddingController#invalidateVisibleActivityStacks(moved from SplitController#invalidateTopVisibleSplitAttributes)
- ActivityEmbeddingController#getActivityStack
- SplitController#updateSplitAttributes
 
- APIs für Version 1.4 hinzufügen (I56774) 
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem auf bestimmten Geräten UNAVAILABLE anstelle von ACTIVE zurückgegeben wurde, wenn eine Sitzung aktiv war.
- Aufgrund instabilen API-Supports wird die Unterstützung für transferActivityToWindowAreaauf Geräten mit einemvendorApiLevelvon 2 entfernt.
- Einführung einer API, mit der die Trennlinie für das Ziehen in den Vollbildmodus für eingebettete Aktivitäten verschoben werden kann. (I645c9)
- Apps können ActivityEmbedding-Animationen über Animationsparameter fürSplitAttributesdeaktivieren. (Idc01a)
- Die manuelle Beschreibung des Zugriffs auf neue Plattform-APIs wurde entfernt, da dies automatisch über die API-Modellierung erfolgt, wenn R8 mit AGP 7.3 oder höher verwendet wird (z. B. R8-Version 3.3), und für alle Builds, wenn AGP 8.1 oder höher verwendet wird (z. B. D8-Version 8.1). Clients, die AGP nicht verwenden, wird empfohlen, auf D8-Version 8.1 oder höher zu aktualisieren. Weitere Details findest du in diesem Artikel. (Ia60e0, b/345472586)
- Erlauben Sie, dass Erweiterungen Animationsparameter für SplitAttributesverwenden, damit das Gerät sie für Animationsübergänge nutzen kann. (Iede00)
- Overlay-APIs ausblenden (Ic4251)
- Einführung von APIs zum Konfigurieren des fixierten oder ziehbaren Trennzeichens für die Aufteilung (Ia7a78)
- Dichte zu WindowMetricshinzugefügt (Id6723)
- Fügen Sie die API hinzu, um SupportedPostureszu erhalten. (If557a)
- setLaunchingActivityStackaus experimenteller API entfernen (I191cf)
- Einführung von ActivityEmbeddingController#embeddedActivityWindowInfo(I24312)
- #getTokeneinstellen und- #getActivityStackTokenhinzufügen (Ie0471)
- Callback-Adapter für die embeddedActivityWindowInfo-Flow-API einführen (Ida77f)
- Callback-Adapter für die OverlayInfo-Flow-API hinzugefügt (I7264f)
- Führen Sie WindowSdkExtensionsRuleein, umextensionsVersionfür Tests zu überschreiben. (Ifb928)
- – #setLaunchingActivityStackzu Bundle migrieren, um mitActivityOptionsCompat-Verwendungen kompatibel zu sein.- Nutzer sollten activityOptions.toBundleanstelle vonActvityOptionsübergeben.
- #setLaunchingActivityStack(Activity)entfernen Nutzer sollten zu- ActivityEmbeddingController#getActivityStac(Activity)migrieren, um ein- ActivityStackzu erhalten, und das- ActivityStackan- #setLaunchingActivityStackübergeben. (Ie0ccc)
 
- Nutzer sollten 
- – ActivityStack.TokenundSpltInfo.Tokenals Kennung für die Kommunikation zwischen WM Jetpack und Erweiterungen eingeführt.- APIs einstellen/ersetzen, um Token anstelle von IBinder zu verwenden/zurückzugeben. (I12b24)
 
- – Stelle ActivityEmbeddingController#invalidateVisibleActivityStacksvor.- Entferne SplitController#invalidateTopVisibleSplitAttributes, da das Feature in#invalidateVisibleActivityStackszusammengefasst wird (I02ef5).
 
- Entferne 
- – API zum Festlegen der Einbettungskonfiguration hinzugefügt. (I59a4a)
- – Hinzufügen von APIs zum Anpinnen/Entfernen von Pins für die obersten ActivityStackandroidx.Window.- Demo-App wird aktualisiert, um das Anpinnen/Lösen von oben zu ermöglichen ActivityStack(I24dd3)
 
- Demo-App wird aktualisiert, um das Anpinnen/Lösen von oben zu ermöglichen 
- #finishActivityStacksund- ActivityEmbeddingOptionswieder hinzufügen (Ic1ab3)
- Entfernen Sie instabile APIs. (Ibc534, b/302380585)
Version 1.3
Version 1.3.0
29. Mai 2024
androidx.window:window-*:1.3.0 ist veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Unterstützung von Kotlin Multiplatform für Fenstergrößenklassen.
Version 1.3.0-rc01
14. Mai 2024
WindowManager Jetpack 1.3 bietet Unterstützung für Kotlin Multiplatform für WindowSizeClass-Funktionen sowie mehrere Fehlerkorrekturen.
androidx.window:window-*:1.3.0-rc01 ist veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta02
1. Mai 2024
androidx.window:window-*:1.3.0-beta02 ist veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
API-Änderungen
- Die Unterstützung für das Erstellen und Verwenden benutzerdefinierter WindowSizeClasswurde entfernt. (Id1143)
Fehlerkorrekturen
- Es wurde ein Fehler KotlinReflectionInternalErrorbehoben, der dadurch verursacht wurde, dass Proguard in bestimmten Geräteimplementierungen einige Dateien entfernt hat. (I01b02)
Version 1.3.0-beta01
3. April 2024
androidx.window:window-*:1.3.0-beta01 ist veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Version 1.3.0-alpha03
6. März 2024
androidx.window:window-*:1.3.0-alpha03 ist veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
API-Änderungen
- WindowSizeClassUtilin fokussiertere Methoden aufteilen. (Ie9292)
- WindowSizeClass#computewiederherstellen (I21355, b/324293374)
Fehlerkorrekturen
- Ein Absturz wurde behoben, der auftrat, weil der bereitgestellte Kontext nicht richtig entpackt wurde. (94d10ce , b/318787482)
Version 1.3.0-alpha02
7. Februar 2024
androidx.window:window-*:1.3.0-alpha02 ist veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
Neue Funktionen
- Die API-Oberfläche der Window Size Class API wurde aktualisiert, um die Flexibilität für Entwickler zu verbessern, die eigene Größenklassen verwenden möchten.
API-Änderungen
- Fügen Sie der Breiten-Auswahl Höhenbeschränkungen hinzu. (I23393)
- Dienstfunktionen zum Auswählen eines WindowSizeClassaus einer Menge hinzugefügt. Hinzufügen experimenteller Scoring-Funktionen, damit Entwickler eigene Selektoren schreiben können. Fügen Sie eine Selektorerweiterungsfunktion hinzu, um die breitesteWindowSizeClassinnerhalb einer bestimmten Grenze auszuwählen. (I0c944)
- Öffnen Sie den WindowSizeClass-Konstruktor, damit benutzerdefinierte Haltepunkte hinzugefügt werden können. (Ic1ff3)
- Es wurde eine praktische Funktion zum Erstellen einer Größenklasse aus Breite, Höhe und Dichte hinzugefügt. (If67f4)
Fehlerkorrekturen
- Es wurde ein Fehler behoben, der auftrat, wenn ein Gleitkommawert auf 0 gekürzt wurde. (272ffac)
Version 1.3.0-alpha01
15. November 2023
androidx.window:window-*:1.3.0-alpha01 ist veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
- Experimentelle Fenster-APIs für den Zugriff auf den Rückbildschirm verfügbar machen
- Die Test-APIs zum Erstellen von FoldingFeaturesind jetzt stabil.
- Test-APIs zum Einrichten gefälschter ActivityEmbedding-Werte sind jetzt stabil.
- WindowLayoutInfoPublisherRulemeldet jetzt die Überschreibung, wenn ein Wert aus einer- UiContextabgerufen wird.
- Mit dieser Funktion werden Daten aus WindowInfoTrackerinUiContext-Parameter zusammengefasst.
- Die Extensions-Version auf dem Gerät anzeigen
- WindowProperties-Konstanten für appspezifische Überschreibungen durch Nutzer:- PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE: Informiert das System darüber, dass die App die Überschreibung der Kompatibilität des Seitenverhältnisses für Nutzer deaktiviert hat.
- PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE: Informiert das System darüber, dass die App die Vollbildoption der Einstellungen für die Überschreibung der Kompatibilität des Seitenverhältnisses des Nutzers deaktiviert hat.
 
Version 1.2
Version 1.2.0
15. November 2023
androidx.window:window-*:1.2.0 ist veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Experimentelle Fenster-APIs für den Zugriff auf den Rückbildschirm verfügbar machen
- Die Test-APIs zum Erstellen von FoldingFeaturesind jetzt stabil.
- Test-APIs zum Einrichten gefälschter ActivityEmbedding-Werte sind jetzt stabil.
- WindowLayoutInfoPublisherRulemeldet jetzt die Überschreibung, wenn ein Wert aus einer- UiContextabgerufen wird.
- Mit dieser Funktion werden Daten aus WindowInfoTrackerinUiContext-Parameter zusammengefasst.
- Die Extensions-Version auf dem Gerät anzeigen
Version 1.2.0-rc01
1. November 2023
androidx.window:window-*:1.2.0-rc01 ist veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Neue Funktionen
- Experimentelle Fenster-APIs für den Zugriff auf den Rückbildschirm verfügbar machen
- Die Test-APIs zum Erstellen von FoldingFeaturesind jetzt stabil.
- Test-APIs zum Einrichten gefälschter ActivityEmbedding-Werte sind jetzt stabil.
- WindowLayoutInfoPublisherRulemeldet jetzt die Überschreibung, wenn ein Wert aus einer- UiContextabgerufen wird.
- Mit dieser Funktion werden Daten aus WindowInfoTrackerinUiContext-Parameter zusammengefasst.
- Die Extensions-Version auf dem Gerät anzeigen
Version 1.2.0-beta04
18. Oktober 2023
androidx.window:window-*:1.2.0-beta04 ist veröffentlicht. Version 1.2.0-beta04 enthält diese Commits.
API-Änderungen
- Entfernen Sie instabile APIs. (Ibc534, b/302380585)
Version 1.2.0-beta03
20. September 2023
androidx.window:window-*:1.2.0-beta03 ist veröffentlicht. Version 1.2.0-beta03 enthält diese Commits.
Neue Funktionen
- Fügen Sie RequiresApi-Prüfungen für APIs hinzu, für die eine bestimmte Version von Erweiterungen erforderlich ist, damit sie richtig funktionieren.
- Fügen Sie eine API hinzu, um die Erweiterungsversion auf dem Gerät verfügbar zu machen.
API-Änderungen
- Die erforderliche Version der Windows SDK-Erweiterung wird in öffentlichen APIs angegeben.
- Entfernen Sie isXXXSupportedin der Komponente „Aktivität einbetten“. (Ie3dae)
 
- Entfernen Sie 
- Führen Sie WindowSdkExtensionsein, um die Erweiterungsversion auf dem Gerät zu melden.- Führen Sie RequiresWindowSdkExtensionein, um die erforderliche Mindestversion der Erweiterung anzugeben. (I05fd4)
 
- Führen Sie 
- Macht WindowAreaInfo#getCapabilityzu einem Feld, in dem keine Nullwerte zulässig sind. (I17048)
Version 1.2.0-beta01
26. Juli 2023
androidx.window:window-*:1.2.0-beta01 ist veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen
- Experimentelle Fenster-APIs für den Zugriff auf den Rückbildschirm verfügbar machen
- Die Test-APIs zum Erstellen von FoldingFeaturesind jetzt stabil.
- Test-APIs zum Einrichten gefälschter ActivityEmbedding-Werte sind jetzt stabil.
- WindowLayoutInfoPublisherRulemeldet jetzt die Überschreibung, wenn ein Wert aus einer- UiContextabgerufen wird.
- Mit dieser Funktion werden Daten aus WindowInfoTrackerinUiContext-Parameter zusammengefasst.
API-Änderungen
- Markiert die WindowArea-APIs als experimentell, damit API-Änderungen für eine stabile Version in 1.3 (I857f5) fortgesetzt werden können.
- Aktualisierte API-Dateien zum Annotieren der Kompatibilitätsunterdrückung (I8e87a, b/287516207)
Version 1.2.0-alpha03
21. Juni 2023
androidx.window:window-*:1.2.0-alpha03 ist veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- Verworfene APIs werden aus der API-Oberfläche entfernt.
- APIs zur Unterstützung gleichzeitiger Displays hinzufügen
- Fügen Sie eine Property hinzu, um die Überschreibung der erzwungenen Größenänderung zu deaktivieren.
- Fügen Sie eine Property hinzu, um die Überschreibung des Mindestseitenverhältnisses zu deaktivieren.
- Stabilisieren Sie ActivityEmbeddingRule, um Unittests für die Aktivitätseinbettung zu unterstützen.
API-Änderungen
Fehlerkorrekturen
- Kompatibilitätseigenschaft zum Deaktivieren der Überschreibung der erzwungenen Größenanpassung hinzugefügt (Ie7ab1)
- Entfernt SESSION_STATE_CONTENT_INVISIBLEaus der Erweiterungsoberfläche. (I6ed19)
- Stabilisieren Sie ActivityEmbeddingRule, um Unittests für die Einbettung von Aktivitäten zu unterstützen. (I8d6b6)
- Es wird ein Opt-out-Kompatibilitätsattribut für die Überschreibung des Mindestseitenverhältnisses hinzugefügt. (I66390)
- Entfernt veraltete WindowArea-APIs (Ieb67c)
- Benenne die Eigenschaft für die Schleife der Ausrichtungsanfrage in PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTEDum. (Ie2fbd)
- Aktualisiert die Namen der Sitzungskonstanten für den Fensterbereich (I83675)
- Es wurde eine Kompatibilitätseigenschaft zum Deaktivieren hinzugefügt, die die Schleife für die Ausrichtung anfordert, wenn sie erkannt wird (I0a7a2).
- Fügen Sie WindowAreaComponent#STATUS_ACTIVEhinzu, um anzugeben, dass das Feature bereits aktiv ist. (I62bc3)
- RearDisplayPresentationMode-APIs hinzufügen (I0401c)
- Entfernen der API zum Entfernen der Hintergrundfarbe für die stabile Version. (I34c3e)
- Window Area APIs ausblenden (I39de0)
- Fügen Sie Methoden hinzu, um SplitInfoinSplitControllerzu überschreiben. Fügen Sie Testmethoden hinzu, um Doubles fürSplitInfoundActivityStackzu erstellen. (Icd69f)
- Tag für ActivityRule.Builderals optional festlegen. (Ib0b44)
- Entferne RatioSplitType,ExpandContainersSplitundHingeSplitType. Sie sind jetztSplitType.- Ersetzen Sie #splitEqually(),#expandContainers()und#splitByHingedurch die KonstantenSplitType SPLIT_TYPE_EQUAL,SPLIT_TYPE_EXPANDundSPLIT_TYPE_HINGE.
- Die Funktion zum Festlegen des Fallback-Typs für den Scharniersplitt-Typ wird entfernt. Wenn der Scharnier-Split-Typ aufgrund des aktuellen Geräte- oder Fensterstatus nicht angewendet werden kann, wird der übergeordnete Task-Container gleichmäßig aufgeteilt. Verwenden Sie SplitController#setSplitAttributesCalculator, um den Fallback-Split-Typ anzupassen. (Ifcc59)
 
- Ersetzen Sie 
- add/- removeSplitCallbackeinstellen- add/- removeSplitCallbacknach- SplitControllerCallbackAdapterverschieben
- Flow-Unterstützung hinzufügen, um die- SplitInfo-Liste zu erhalten (I7f1b6)
 
- Testregel für ActivityEmbeddingController(I42e9b) hinzufügen
- ActivityOptionsCompatwird in- ActivityEmbeddingOptionsumbenannt (I89301)
- Fügen Sie splitSupportStatushinzu, um anzugeben, ob die Einbettung von Aktivitäten verfügbar ist. (I10024)
- Wir haben SplitAttributes.BackgroundColoreingeführt, um denDEFAULT-Wert besser darzustellen. Es wird klargestellt, dass keine nicht deckende Hintergrundfarbe für Animationen unterstützt wird. Alle nicht deckenden Farben werden als Standard behandelt, d. h., es wird die aktuelle Hintergrundfarbe des Designfensters verwendet. (Ic6b95)
- Ersetzen Sie alwaysAllow()undalwaysDisallow()durchALWAYS_ALLOWundALWAYS_DISALLOW. (I3057b)
- Fügen Sie APIs für SplitRule,SplitAttributesundSplitAttributesCalculatorhinzu. (I92d23)
- Fügen Sie TestActivityStackhinzu, umActivityStackzum Testen zu erstellen.- Fügen Sie TestSplitInfohinzu, umSplitInfozum Testen zu erstellen. (I8e779)
 
- Fügen Sie 
- Möglichkeit zum Erstellen gefälschter SplitAttributesCalculatorParamshinzufügen, damit Entwickler ihre benutzerdefiniertenSplitAttributesCalculator(Id4a6e) überprüfen können
- WindowMetricsCalculator#computeCurrentWindowMetrics(@UiContext context: Context)und- WindowMetricsCalculator#computeMaximumWindowMetrics(@UiContext context: Context)hinzufügen (I66c7f)
Version 1.2.0-alpha02
7. Juni 2023
androidx.window:window-*:1.2.0-alpha02 ist veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
- Die Test-API wurde aktualisiert, um eine Konstante für nicht angegebene Faltfunktionen zu enthalten.
- Wenn Sie WindowLayoutInfoPublishRuleüberschreiben, werden alle Werte vonwindowLayoutInfoüberschrieben, einschließlich der Context-basierten API.
API-Änderungen
- Konstante für nicht angegebene Mittelfalzung hinzufügen. (I7530c)
Fehlerkorrekturen
- Aktualisiere WindowLayoutInfoPublishRule, um Überschreibungen fürContextbasierend aufWindowLayoutInfozu unterstützen. (I2037a)
Version 1.2.0-alpha01
24. Mai 2023
androidx.window:window-*:1.2.0-alpha01 ist veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
Test-APIs für Activity Embedding und WindowLayoutInfoTracker stabilisieren. ActivityEmbeddingRule wurde zur stabilen Version hochgestuft.
WindowMetricsCalculatorRule wurde zur stabilen Version hochgestuft.
Hilfsfunktionen zum Erstellen eines FoldingFeature für Tests wurden in die stabile Version aufgenommen.
API-Änderungen
- Stabilisieren Sie ActivityEmbeddingRule, um Unittests für die Einbettung von Aktivitäten zu unterstützen. (I8d6b6)
- WindowMetrisCalculatorTestRuleist stabil und ermöglicht das Erstellen von Stub-Messwerten für JVM-Tests. Wir empfehlen, für genaue Ergebnisse einen Emulator zu verwenden.
- Test-APIs für WindowLayoutInfostabilisieren, um JVM-Tests zu unterstützen. (Ie036e)
- Fügen Sie IntRangefür Werte des Test-Folding-Features hinzu. (I69f7d)
Version 1.1
Version 1.1.0
7. Juni 2023
androidx.window:window-*:1.1.0 ist veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
Aktivitätseinbettung
- PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDwurde als boolesche Eigenschaft des Tags- <application>im App-Manifest hinzugefügt.
- isSplitSupportedwurde eingestellt und durch- splitSupportStatusersetzt, um detailliertere Informationen dazu zu liefern, warum die Split-Funktion nicht verfügbar ist.
- Die verschachtelte Klasse SplitController.SplitSupportStatuswurde hinzugefügt, um Statuskonstanten für das AttributsplitSupportStatusbereitzustellen.
- SplitControllerwurde in mehrere Module refaktoriert:- ActivityEmbeddingController-Modul für APIs, die mit- Activityoder- ActivityStackzusammenhängen.
- isActivityEmbeddedwurde von- SplitControllernach- ActivityEmbeddingControllerverschoben.
- RuleController-Modul für- EmbeddingRule-bezogene Vorgänge:
- Entfernte SplitController-APIs:
- clearRegisteredRules()
- getSplitRules()
- initialize()
- registerRule()
- unregisterRule()
- RuleControllerAPIs hinzugefügt:
- addRule(): Fügt eine Regel hinzu oder aktualisiert die Regel mit demselben Tag.
- removeRule(): Entfernt eine Regel aus der Sammlung registrierter Regeln.
- setRules(): Erstellt eine Sammlung von Regeln.
- clearRules(): Entfernt alle registrierten Regeln.
- parseRules(): Parst Regeln aus XML-Regeldefinitionen.
 
- Für alle Module muss ein Kontext mit der Methode #getInstance()initialisiert werden. Dazu gehören:- ActivityEmbeddingController#getInstance(Context)
- SplitController#getInstance(Context)
- RuleController#getInstance(Context)
 
- Die Klasse EmbeddingAspectRatiowurde hinzugefügt, um Konstanten für das Verhalten im Stil von Enums in Bezug auf das Seitenverhältnis des Displays zu definieren.
- Die Klasse SplitAttributeswurde hinzugefügt, um das geteilte Layout zu definieren.
- SplitAttributes-Rechnerfunktionen wurden- SplitControllerhinzugefügt, um geteilte Layouts anzupassen:- setSplitAttributesCalculator(Function)
- clearSplitAttributesCalculator()
- isSplitAttributesCalculatorSupported(), um zu prüfen, ob die- SplitAttributesCalculator-APIs auf dem Gerät unterstützt werden
 
- Das Feld EmbeddingRule#tagwurde hinzugefügt.
- API-Updates in SplitRule:- defaultSplitAttributeshinzugefügt: Definiert das Standardlayout für die Aufteilung eines Splits. Ersetzt- splitRatiound- layoutDirection.
- Übersetzung der XML-Attribute splitRatioundsplitLayoutDirectionindefaultSplitAttributeshinzugefügt.
- Die Definitionen der Mindestabmessungen wurden geändert, sodass jetzt dichteunabhängige Pixel (dp) anstelle von Pixeln verwendet werden.
- minHeightDpmit dem Standardwert 600 dp wurde hinzugefügt.
- minWidthwurde in- minWidthDpmit dem Standardwert 600 dp geändert.
- minSmallestWidthwurde in- minSmallestWidthDpmit dem Standardwert 600 dp geändert.
- maxAspectRatioInHorizontalmit dem Standardwert- ALWAYS_ALLOWwurde hinzugefügt.
- maxAspectRatioInPortraitmit dem Standardwert 1,4 wurde hinzugefügt.
- Die verschachtelte Klasse FinishBehaviorwurde definiert, um die Konstanten für das Abschlussverhalten zu ersetzen.
- Die Property-Änderungen wurden auf die verschachtelte Builder-Klasse von SplitPairRuleundSplitPlaceholderRuleangewendet.
 
- SplitInfo#getSplitRatio()wurde durch- SplitInfo#getSplitAttributes()ersetzt, um zusätzliche Informationen zu Splits bereitzustellen.
WindowLayout
- WindowInfoTracker: Unterstützung für experimentellen UI-Kontext ohne Aktivität hinzugefügt.
- Der experimentelle UI-Kontext für Nicht-Aktivitäten wurde WindowMetricsCalculatorhinzugefügt.
Migrationsschritte
- Damit Aktivitäten in Splits angezeigt werden können, müssen Apps dem Manifest-Tag <application>die EigenschaftPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDhinzufügen:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />So kann das System das Split-Verhalten für eine Anwendung im Voraus optimieren.
- SplitInfo-Verhältnis- Prüfe, ob das aktuelle Segment gestapelt ist:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType
- Prüfen Sie das aktuelle Verhältnis:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
 
- Prüfe, ob das aktuelle Segment gestapelt ist:
- SplitController-Migrationen:
- SplitController.getInstance()wird zu- SplitController.getInstance(Context)geändert.
- SplitController.initialize(Context, @ResId int)wird zu- RuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))geändert.
- SplitController.getInstance().isActivityEmbedded(Activity)wird zu- ActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)geändert.
- SplitController.getInstance().registerRule(rule)wird zu- RuleController.getInstance(Context).addRule(rule)geändert.
- SplitController.getInstance().unregisterRule(rule)wird zu- RuleController.getInstance(Context).removeRule(rule)geändert.
- SplitController.getInstance().clearRegisteredRules()wird zu- RuleController.getInstance(Context).clearRules()geändert.
- SplitController.getInstance().getSplitRules()wird zu- RuleController.getInstance(Context).getRules()geändert.
 
- SplitRule-Property-Migrationen:- Für minWidthundminSmallestWidthwerden jetzt dichteunabhängige Pixel anstelle von Pixeln verwendet. Apps können den folgenden Aufruf verwenden:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )oder einfachminWithin Pixel durchdisplayMetrics#densitydividieren.
 
- Für 
- Die Konstanten für das Abschlussverhalten müssen zu FinishBehavior-Konstanten der Enum-ähnlichen Klasse migriert werden:- FINISH_NEVERwird zu- FinishBehavior.NEVERgeändert.
- FINISH_ALWAYSwird zu- FinishBehavior.ALWAYSgeändert.
- FINISH_ADJACENTwird zu- FinishBehavior.ADJACENTgeändert.
 
- Die Layoutrichtung muss zu SplitAttributes.LayoutDirectionmigriert werden:- ltrwird zu- SplitAttributes.LayoutDirection.LEFT_TO_RIGHTgeändert.
- rtlwird zu- SplitAttributes.LayoutDirection.RIGHT_TO_LEFTgeändert.
- localewird zu- SplitAttributes.LayoutDirection.LOCALEgeändert.
- splitRatiomuss zu- SplitAttributes.SplitType.ratio(splitRatio)migriert werden.
 
- SplitPairRule.Buildermigrations:- SplitPairRule.Builder(filters, minWidth, minSmallestWidth)wird geändert zu- kotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600.
- setLayoutDirection(layoutDirection)- und- setSplitRatio(ratio)-Änderungen an- kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )
- setFinishPrimaryWithSecondaryund- setFinishSecondaryWithPrimaryverwenden die- FinishBehavior-Konstanten, die Enums ähneln. Weitere Informationen finden Sie unter „SplitRule-Migrationen“.
- Verwende setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW), um Splits auf Geräten im Hochformat anzuzeigen.
 
- SplitPlaceholder.Buildermigrations:- Enthält nur die Parameter filtersundplaceholderIntent. Andere Eigenschaften werden in Setter verschoben. Weitere Informationen finden Sie unter „SplitPairRule.Builder-Migrationen“.
- setFinishPrimaryWithPlaceholderverwendet die enum-ähnlichen Konstanten- FinishBehavior. Weitere Informationen finden Sie unter „SplitRule-Migrationen“.
- setLayoutDirection(layoutDirection)und- setSplitRatio(ratio)werden zu:- kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )
- Verwende setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW), um Splits auf Geräten im Hochformat anzuzeigen.
 
- Enthält nur die Parameter 
Version 1.1.0-rc01
10. Mai 2023
androidx.window:window-*:1.1.0-rc01 ist veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Neue Funktionen
- Release ActivityEmbeddingals stabile API.
- Verschiedene Fehlerkorrekturen.
Version 1.1.0-beta02
5. April 2023
androidx.window:window-*:1.1.0-beta02 ist veröffentlicht. Version 1.1.0-beta02 enthält diese Commits.
Neue Funktionen
- Interne Fehlerbehebungen und Bereinigungen.
Version 1.1.0-beta01
22. März 2023
androidx.window:window-*:1.1.0-beta01 ist veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Aktivitätseinbettung
- PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDwurde als boolesche Eigenschaft des Tags- <application>im App-Manifest hinzugefügt.
- isSplitSupportedwurde eingestellt und durch- splitSupportStatusersetzt, um detailliertere Informationen dazu zu liefern, warum die Split-Funktion nicht verfügbar ist.
- Die verschachtelte Klasse SplitController.SplitSupportStatuswurde hinzugefügt, um Statuskonstanten für das AttributsplitSupportStatusbereitzustellen.
- SplitControllerwurde in mehrere Module refaktoriert:- ActivityEmbeddingController-Modul für APIs, die mit- Activityoder- ActivityStackzusammenhängen.
- isActivityEmbeddedwurde von- SplitControllernach- ActivityEmbeddingControllerverschoben.
- RuleController-Modul für- EmbeddingRule-bezogene Vorgänge:
- Entfernte SplitController-APIs:- clearRegisteredRules()
- getSplitRules()
- initialize()
- registerRule()
- unregisterRule()
 
- RuleController-APIs hinzugefügt:- addRule(): Fügt eine Regel hinzu oder aktualisiert die Regel mit demselben Tag.
- removeRule(): Entfernt eine Regel aus der Sammlung registrierter Regeln.
- setRules(): Erstellt eine Sammlung von Regeln.
- clearRules(): Entfernt alle registrierten Regeln.
- `parseRules()`: Parst Regeln aus XML-Regeldefinitionen.
 
 
- Für alle Module muss ein Kontext mit der Methode #getInstance()initialisiert werden. Dazu gehören:- ActivityEmbeddingController#getInstance(Context)
- SplitController#getInstance(Context)
- RuleController#getInstance(Context)
 
- Die Klasse EmbeddingAspectRatiowurde hinzugefügt, um Konstanten für das Verhalten im Stil von Enums in Bezug auf das Seitenverhältnis des Displays zu definieren.
- Die Klasse SplitAttributeswurde hinzugefügt, um das geteilte Layout zu definieren.
- SplitAttributes-Rechnerfunktionen wurden- SplitControllerhinzugefügt, um geteilte Layouts anzupassen:- setSplitAttributesCalculator(Function)
- clearSplitAttributesCalculator()
- isSplitAttributesCalculatorSupported(), um zu prüfen, ob die SplitAttributesCalculator-APIs auf dem Gerät unterstützt werden
 
- Das Feld EmbeddingRule#tagwurde hinzugefügt.
- API-Updates in SplitRule:- defaultSplitAttributeshinzugefügt: Definiert das Standardlayout für die Aufteilung eines Splits. Ersetzt- splitRatiound- layoutDirection.
- Übersetzung der XML-Attribute splitRatioundsplitLayoutDirectionindefaultSplitAttributeshinzugefügt.
- Die Definitionen der Mindestabmessungen wurden geändert, sodass jetzt dichteunabhängige Pixel (dp) anstelle von Pixeln verwendet werden.
- minHeightDpmit dem Standardwert 600 dp wurde hinzugefügt.
- minWidthwurde in- minWidthDpmit dem Standardwert 600 dp geändert.
- minSmallestWidthwurde in- minSmallestWidthDpmit dem Standardwert 600 dp geändert.
- maxAspectRatioInHorizontalmit dem Standardwert- ALWAYS_ALLOWwurde hinzugefügt.
- maxAspectRatioInPortraitmit dem Standardwert- 1.4wurde hinzugefügt.
- Die verschachtelte Klasse FinishBehaviorwurde definiert, um die Konstanten für das Abschlussverhalten zu ersetzen.
- Die Änderungen an den Attributen wurden auf die verschachtelte Klasse BuildervonSplitPairRuleundSplitPlaceholderRuleangewendet.
 
- SplitInfo#getSplitRatio()wurde durch- SplitInfo#getSplitAttributes()ersetzt, um zusätzliche Informationen zu Splits bereitzustellen.
WindowLayout
- WindowInfoTrackerunterstützt jetzt auch UI-Kontext ohne Aktivität.
- WindowMetricsCalculatorwurde ein UI-Kontext ohne Aktivität hinzugefügt.
Migrationsschritte
- Damit Aktivitäten in Splits angezeigt werden können, müssen Apps dem Manifest-Tag <application>die EigenschaftPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDhinzufügen:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />So kann das System das Split-Verhalten für eine Anwendung im Voraus optimieren.
- SplitInfo-Verhältnis- Prüfe, ob das aktuelle Segment gestapelt ist:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType
- Prüfen Sie das aktuelle Verhältnis:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
 
- Prüfe, ob das aktuelle Segment gestapelt ist:
- SplitControllermigrations:- SplitController.getInstance()wird zu- SplitController.getInstance(Context)geändert.
- SplitController.initialize(Context, @ResId int)wird zu- RuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))geändert.
- SplitController.getInstance().isActivityEmbedded(Activity)wird zu- ActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)geändert.
- SplitController.getInstance().registerRule(rule)wird zu- RuleController.getInstance(Context).addRule(rule)geändert.
- SplitController.getInstance().unregisterRule(rule)wird zu- RuleController.getInstance(Context).removeRule(rule)geändert.
- SplitController.getInstance().clearRegisteredRules()wird zu- RuleController.getInstance(Context).clearRules()geändert.
- SplitController.getInstance().getSplitRules()wird zu- RuleController.getInstance(Context).getRules()geändert.
 
- SplitRule-Property-Migrationen:- Für minWidthundminSmallestWidthwerden jetzt dichteunabhängige Pixel anstelle von Pixeln verwendet. Apps können den folgenden Aufruf verwenden:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )oder einfachminWithin Pixel durchdisplayMetrics#densitydividieren.
 
- Für 
- Die Konstanten für das Abschlussverhalten müssen zu FinishBehavior-Konstanten der Enum-ähnlichen Klasse migriert werden:- FINISH_NEVERwird zu- FinishBehavior.NEVERgeändert.
- FINISH_ALWAYSwird zu- FinishBehavior.ALWAYSgeändert.
- FINISH_ADJACENTwird zu- FinishBehavior.ADJACENTgeändert.
 
- Die Layoutrichtung muss zu SplitAttributes.LayoutDirectionmigriert werden:- ltrwird zu- SplitAttributes.LayoutDirection.LEFT_TO_RIGHTgeändert.
- rtlwird zu- SplitAttributes.LayoutDirection.RIGHT_TO_LEFTgeändert.
- localewird zu- SplitAttributes.LayoutDirection.LOCALEgeändert.
- splitRatiomuss zu- SplitAttributes.SplitType.ratio(splitRatio)migriert werden.
 
- SplitPairRule.Buildermigrations:- SplitPairRule.Builder(filters, minWidth, minSmallestWidth)wird geändert zu- kotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600.
- setLayoutDirection(layoutDirection)und- setSplitRatio(ratio)werden in- kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )geändert.
- setFinishPrimaryWithSecondaryund- setFinishSecondaryWithPrimaryverwenden die- FinishBehavior-Konstanten, die Enums ähneln. Weitere Informationen finden Sie unter „SplitRule-Migrationen“.
- Verwende setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW), um Splits auf Geräten im Hochformat anzuzeigen.
 
- SplitPlaceholder.Buildermigrations:- Enthält nur die Parameter filtersundplaceholderIntent. Andere Eigenschaften werden in Setter verschoben. Weitere Informationen finden Sie unter „SplitPairRule.Builder-Migrationen“.
- setFinishPrimaryWithPlaceholderverwendet die- FinishBehavior-Konstanten, die wie Enums funktionieren. Weitere Informationen finden Sie unter „SplitRule-Migrationen“.
- setLayoutDirection(layoutDirection)und- setSplitRatio(ratio)werden zu:- kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )
- Verwende setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW), um Splits auf Geräten im Hochformat anzuzeigen.
 
- Enthält nur die Parameter 
Version 1.1.0-alpha06
22. Februar 2023
androidx.window:window-*:1.1.0-alpha06 ist veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
Neue Funktionen
- Experimentelle Version zum Abrufen von WindowLayoutInfoaus einem UI-Kontext verfügbar machen.
API-Änderungen
- Fügen Sie splitSupportStatushinzu, um anzugeben, ob die Einbettung von Aktivitäten verfügbar ist. (I10024)
- Die API für den UI-Kontext WindowLayoutInfowird als experimentell gekennzeichnet. (I58ee0)
- Einführung der WindowAreaControllerund APIs, um denRearDisplay-Modus zu aktivieren, mit dem das aktuelle Fenster auf das Display verschoben wird, das auf die Rückkamera ausgerichtet ist. (Iffcbf)
- Standardhintergrundfarbe aktualisieren. (I1ac1b)
- SplitAttributes-Parameter hinzufügen (I18bdd)
- Fügen Sie APIs für SplitRule,SplitAttributesundSplitAttributesCalculatorhinzu. (I92d23)
- APIs für maxAspectRatioverbessern:- Ersetzen Sie alwaysAllow()undalwaysDisallow()durchALWAYS_ALLOWundALWAYS_DISALLOW.
- Aktualisieren Sie die API-Dokumentation von @see mit der eigenständigen Dokumentation. (I3057b)
 
- Ersetzen Sie 
- Die folgenden Konstruktoren werden aus öffentlichen APIs entfernt, da sie nicht von Apps aufgerufen werden sollen.
- SplitInfo-Konstruktor
- ActivityStack-Konstruktor (Ide534)
 
- SplitRuledauert jetzt- maxAspectRatioInPortrait/Landscape. Aktivitäten können nur aufgeteilt werden, wenn das Seitenverhältnis der übergeordneten Grenzen kleiner oder gleich dem angeforderten- maxAspectRatioist. (Ia5990)
- Ändern Sie RuleController#parseRulesin statisch (I785df).
- APIs für ActivityEmbedding verbessern
- API-Benennung anpassen – „add“/„remove“ für mehrere Instanzen verwenden:
- registerRulewird zu- addRulegeändert
- unregisterRulewird zu- removeRulegeändert
- Ersetzen Sie getSplitRulesdurchgetRules, daActivityRulekeine Aufteilungsregel ist.
- Fügen Sie RuleController#setRuleshinzu, um mehrere Regeln festzulegen.
- Extrahieren Sie regelbezogene APIs aus SplitControllerin das SingletonRuleController. Die regionalen Gewinner sind:
- addRule
- removeRule
- getRules
- setRules
- clearRules
- parseRules
- Extrahieren Sie #isActivityEmbeddedausSplitControllerin das SingletonActivityEmbeddingController. Die regionalen Gewinner sind:
- isActivityEmbedded
- SplitController#initializeentfernen Wenn Sie Regeln aus einer XML-Datei festlegen möchten, verwenden Sie- RuleController#parseRulesund- #setRules. Vor dieser Änderung:- SplitController.initialize(context, R.xml.static_rules)Nach dieser Änderung:- val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)
- Wir unterscheiden nicht mehr zwischen statischen Regeln und Laufzeitregeln. Durch den Aufruf von #clearRuleswerden alle Regeln gelöscht, unabhängig davon, ob sie mit statischen XML-Regeldefinitionen oder zur Laufzeit registriert wurden. Wenn Sie das alte Verhalten vonSplitController#clearRegisteredRulesbeibehalten möchten, rufen SieRuleController#parseRulesmit der XML-Ressourcen-ID auf und rufen SieRuleController#setRulesauf, um die Regeln wieder festzulegen. Vor dieser Änderung:SplitController.getInstance(context).clearRegisteredRules()Nach dieser Änderung:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)(Ib3967)
 
- SplitRule-APIs verbessern:
- Verwende für SplitRuleMindestabmessungen in DP anstelle von Pixeln.
- Refactoring für SplitRuleBuilder, damit Mindestdimensionen optional sind. (I95f17)
 
- Verwende für 
- Kontext zum Initialisieren von SplitControllerübergeben (I42549)
- SplitRule#layoutDirwurde in- #layoutDirectionund- SplitRule Builder#setLayoutDirin- Builder#setLayoutDirectionumbenannt. (I3f6d1)
Version 1.1.0-alpha04
9. November 2022
androidx.window:window-*:1.1.0-alpha04 ist veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
Neue Funktionen
- Stellen Sie eine Methode bereit, mit der ermittelt werden kann, ob ein ActivityStackfürActivityEmbeddingleer ist.
- Die experimentellen API-Tags wurden aus den ActivityEmbedding-APIs entfernt.
- Den Konstruktor ActivityRuleausblenden, daBuilderdie bevorzugte Methode zum Erstellen ist.
- Fügen Sie eine experimentelle Methode hinzu, um WindowInsetsfürWindowMetricszu erhalten.
- Aktualisieren Sie SplitPlaceholderFinishBehavior, um zu verhindern, dass der Platzhalter fertiggestellt wird. Das Vervollständigen des Platzhalters hat zu einem verwirrenden Verhalten geführt.
API-Änderungen
- Machen Sie „val“ isEmptyöffentlich, um „fun“isEmptyzu ersetzen.
- Benennen Sie Aktivitäten mit dem Parameter ActivityStackinactivitiesInProcessum. (Ia5055)
- Entferne ActivityFilter#matchesClassNameundActivityFilter#matchesClassNameOrWildCard, da sie verwirrend sind.
- Fügen Sie ActivityFilter#componentNameundActivityFilter#intentActionhinzu, damit der Anrufer verschiedene Filter unterscheiden kann (I41f22).
- Entfernen Sie die @Deprecated-APIs aus der experimentellen API (I216b3).
- @ExperimentalWindowApifür Activity Embedding APIs entfernen (I69ebe)
- ActivityRule-Konstruktor ausblenden, stattdessen Builder verwenden. (If4eb6)
- APIs hinzugefügt, um zu prüfen, ob eine Aktivität Teil des ActivityFilterist. (Ia43cf)
- API-Dateien aktualisieren, um Änderungen in den Klassen WindowMetricsundWindowMetricsCalculatorCompatzu berücksichtigen (I667fe)
- Javadoc und Klassenname der Property ActivityEmbeddingaktualisieren (Ia1386)
- Hinzufügen von ActivityEmbedding-Eigenschaftstagnamen, die in AndroidManifest.xml verwendet werden sollen (Id1ad4)
- Die neuen APIs SplitPlaceholderFinishBehaviorundSplitPlaceholderRule.finishPrimaryWithPlaceholderwurden hinzugefügt. Sie ersetzen die vorhandene APISplitPlaceholderRule.finishPrimaryWithSecondary, mit der definiert wird, wann Platzhalteraktivitäten abgeschlossen sind und wie sich zugehörige Aktivitäten in Activity Embedding verhalten sollen. (I64647)
Fehlerkorrekturen
- Einführung der WindowAreaControllerund APIs, um denRearDisplay-Modus zu aktivieren, mit dem das aktuelle Fenster auf das Display verschoben wird, das auf die Rückkamera ausgerichtet ist. (I388ab)
Version 1.1.0-alpha03
27. Juli 2022
androidx.window:window-*:1.1.0-alpha03 ist veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Aktualisieren Sie die Standardwerte für Einbettungsregeln.
API-Änderungen
- Standardwerte für Eigenschaften von Einbettungsregeln aktualisieren (Ic4d35)
Version 1.1.0-alpha02
11. Mai 2022
androidx.window:window-*:1.1.0-alpha02 ist veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
Neue Funktionen
- Adapterbibliotheken zur Unterstützung von Java und RxJava veröffentlichen
Version 1.1.0-alpha01
11. Mai 2022
androidx.window:window-*:1.1.0-alpha01 ist veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
- Adapter für Java und RxJava veröffentlichen
Version 1.1.0-alpha01
20. April 2022
androidx.window:window:1.1.0-alpha01 ist veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
- Es wurde ein Fehler behoben, durch den beim Ausführen einer App im Hintergrund keine Informationen zu Faltfunktionen mehr ausgegeben wurden.
- Die experimentelle ActivityEmbedding API wurde erweitert.
API-Änderungen
- Eine öffentliche API, mit der geprüft werden kann, ob eine Aktivität eingebettet wird. (I39eb7)
Fehlerkorrekturen
- APIs zum Anpassen des Abschlussverhaltens für Container in Aktivitätsabschnitten hinzufügen (I1a1e4)
- Es wurde eine neue Konfigurationsoption für Regeln zum Aufteilen von Aktivitäten hinzugefügt. (Iec6af)
Version 1.0
Version 1.0.0
26. Januar 2022
androidx.window:window-*:1.0.0 ist veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von Version 1.0.0
- Unterstützung für Falt-Smartphones über WindowInfoTrackerundFoldingFeature.WindowMetricsCalculator, um die aktuellen WindowMetrics zu berechnen.
Version 1.0.0-rc01
15. Dezember 2021
androidx.window:window-*:1.0.0-rc01 ist veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
Neue Funktionen
- Unterstützung für Falt-Smartphones über WindowInfoTrackerhinzugefügt.
- Es wurden Methoden zum Berechnen des aktuellen und maximalen WindowMetricshinzugefügt.
- Unterstützende Test-APIs hinzufügen
Version 1.0.0-beta04
17. November 2021
androidx.window:window-*:1.0.0-beta04 ist veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.
Neue Funktionen
- Benennen Sie „WindowInfoRepository“ in „WindowInfoTracker“ um.
- „Activity“ als explizite Methodenabhängigkeit für „WindowInfoTracker“ festlegen.
- Eine einfache TestRule für WindowMetricsCalculator wurde hinzugefügt, um Entwickler zu unterstützen, die Robolectric verwenden.
API-Änderungen
- Erweiterungen extrahieren (I25a5f)
- isEmpty in ActivityStack hinzufügen (I5a4e6)
- Benennen Sie „WindowInfoRepository“ in „WindowInfoTracker“ um.
- Aktualisieren Sie die Java-/RxJava-/Testing-Abhängigkeiten entsprechend. (I0da63)
 
- Fügen Sie eine Testregel für einen einfachen WindowMetricsCalculator hinzu. (Ibacdb)
Version 1.0.0-beta03
27. Oktober 2021
androidx.window:window-*:1.0.0-beta03 ist veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
Neue Funktionen
- Experimentelle APIs zum Einbetten von Aktivitäten hinzugefügt. In dieser ersten Layoutversion können zwei Aktivitäten nebeneinander angezeigt werden.
API-Änderungen
- Die currentWindowMetrics API wurde entfernt, da wir sie nicht genau bereitstellen können. Verwenden Sie stattdessen „WindowMetricsCalculator“ (Icda5f).
- Die Extensions API wurde aktualisiert. (Ica92b)
- Es wurde eine Schnittstelle für eine neue Funktion hinzugefügt, mit der Aktivitäten eingebettet und nebeneinander im übergeordneten Aufgabenfenster angezeigt werden können. (I5711d)
- Die Konstruktoren für WindowMetrics und WindowLayoutInfo wurden ausgeblendet. Verwenden Sie stattdessen die Test-APIs. (I5a1b5)
- Eine API zum Erstellen gefälschter WindowLayoutInfo-Objekte hinzufügen. (I4a2fd)
Fehlerkorrekturen
- Ein Speicherleck wurde behoben. (I3fc79, b/202989046)
Version 1.0.0-beta02
1. September 2021
androidx.window:window-*:1.0.0-beta02 ist veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Neue Funktionen
- Fügen Sie eine experimentelle Anmerkung hinzu, um experimentelle APIs zu kennzeichnen. (I9f1b6)
- Fügen Sie eine Testmethode hinzu, um ein Test-FoldingFeature zu erstellen, das ein Rechteck akzeptiert. Das erleichtert das Testen mit Robolectric im Gegensatz zu einer tatsächlichen Aktivität. (Id1cca)
Version 1.0.0-beta01
18. August 2021
androidx.window:window-*:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Neue Funktionen
- Alte Konstanten wurden entfernt und FoldingFeaturewurde in eine Schnittstelle umgewandelt.
API-Änderungen
- Entfernen Sie alte Konstanten und machen Sie FoldFeature zu einer Schnittstelle. (I9a2d5)
Fehlerkorrekturen
- Bibliotheken, die von der Test Core-Bibliothek abhängen, wurden auf Version1.4.0aktualisiert und funktionieren jetzt mit der Android-Plattformversion S. (I88b72, b/189353863)
Version 1.0.0-alpha10
4. August 2021
androidx.window:window-*:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
Neue Funktionen
- Benennen Sie WindowInfoRepo in WindowInfoRepository um und passen Sie die entsprechenden Klassen / Dateien an.
- Messwerte für das aktuelle Fenster in einen Flow in WindowInfoRepository konvertieren, da sich der Wert im Laufe der Zeit ändert.
- WindowInfoRepoJavaAdapter in WindowInfoRepoCallbackAdapter umbenennen
- Hilfsmethode zum Erstellen von FoldingFeature-Testobjekten hinzufügen
- Pakete aktualisieren, um Klassen basierend auf dem unterstützten Feature zu gruppieren.
API-Änderungen
- Benennen Sie „ActivityExt“ in „ActivityExtensions“ um und ändern Sie „Repo“ in „Repository“. (I61a16)
- Pakete für Kurse aktualisieren (I23ae2)
- WindowMetrics aus WindowInfoRepo entfernen (I24663)
- WindowManager entfernen und WindowInfoRepo verwenden
- WindowBackend intern machen. (I06d9a)
 
- Fenstermesswerte in Flow-Messwerte umwandeln
- Java-Adapter in „WindowInfoRepoCallbackAdapter“ umbenennen
- Entfernen Sie „callbackFlow“, damit keine experimentellen APIs mehr verwendet werden. (Ia4d15)
 
- Es wurde eine Hilfsmethode zum Erstellen von Testanzeigefunktionen hinzugefügt.
- Änderung von „occlusionMode“ zu „occlusionType“ (If4cff)
 
Fehlerkorrekturen
- Ein Proguard-Fehler wurde behoben, bei dem die Core-Bibliothek entfernt wurde.
- Es wurde ein Fehler behoben, durch den WindowLayoutInfo nicht an zusätzliche Abonnenten gesendet wurde.
- Ein Fehler wurde behoben, durch den Konfigurationsänderungen keine Aktualisierungen der Faltfunktion ausgelöst haben.
Version 1.0.0-alpha09
30. Juni 2021
androidx.window:window-*:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
Neue Funktionen
- Von Ganzzahlkonstanten zu unbegrenzten Enums wechseln.
- Ein Test-Tool zum Erstellen von Test-Folding-Funktionen wurde hinzugefügt.
API-Änderungen
- Es wurde eine Hilfsmethode zum Erstellen von Testanzeigefunktionen hinzugefügt. (I3cf54)
- Ändern Sie occlusionModeinocclusionType.
 
- Ändern Sie 
Fehlerkorrekturen
- Gibt den Anfangswert aus, wenn mehrere Nutzer der Datenstreams hinzugefügt werden.
Version 1.0.0-alpha08
16. Juni 2021
androidx.window:window-*:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Neue Funktionen
- Es wurde ein Testartefakt veröffentlicht, um das Testen bei Verwendung von WindowInfoRepository zu erleichtern. Verwenden Sie WindowInfoRepository, um Informationen zu DisplayFeatures und WindowMetrics abzurufen. (I57f66, Ida620)
Version 1.0.0-alpha07
2. Juni 2021
androidx.window:window-*:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
Neue Funktionen
- Migrieren Sie die Kernfensterbibliothek zu Kotlin. Wir werden in Zukunft Coroutinen und Suspend-Funktionen verwenden, um asynchrone Daten bereitzustellen.
- WindowInfoRepo als Hauptinteraktionspunkt zum Abrufen der WindowMetrics und des Streams von WindowLayoutInfo hinzufügen.
- Neues window-java-Artefakt, um Java-freundliche APIs zum Registrieren und Aufheben der Registrierung von Callbacks bereitzustellen.
- Neue window-rxjava2- undwindow-rxjava3-Artefakte zum Bereitstellen von RxJava-angepassten APIs.
API-Änderungen
- Fügen Sie WindowServiceshinzu, um Abhängigkeiten einheitlich bereitzustellen.- Coroutine-basierte API zum Abrufen von Informationen zum Fensterlayout hinzugefügt (Iab70f)
 
- Die Core Window Manager-Bibliothek wird zu Kotlin migriert. (Icca34)
Fehlerkorrekturen
- Neue Datenklasse zur Darstellung von Feature-Grenzen hinzufügen. (I6dcd1)
Version 1.0.0-alpha06
5. Mai 2021
androidx.window:window:1.0.0-alpha06 ist veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
Neue Funktionen
- Wir haben mit der Migration zu Kotlin begonnen und werden sie im nächsten Release abschließen.
- „DeviceState“ wurde aus der öffentlichen API entfernt. Verwenden Sie stattdessen „FoldingFeature“.
- Wir haben STATE_FLIPPEDaus den FoldingFeature-Status entfernt, da es derzeit von keinem Anwendungsfall unterstützt wird.
- Außerdem haben wir weitere eingestellte APIs entfernt.
API-Änderungen
- Kotlin als Abhängigkeit hinzufügen
- Kernbibliothek zu Kotlin migrieren. (Idd995)
 
- Der Builder DisplayFeaturewurde entfernt. (I61fa4)
- DeviceStatewurde aus der öffentlichen API entfernt. Verwenden Sie stattdessen- FoldingFeature. (Id6079)
- Entfernen Sie den Gerätestatus-Callback aus Erweiterungen. (I5ea83)
- Entfernen Sie STATE_FLIPPEDaus FoldingFeature. (I9c4e1)
- Veraltete Registrierungsmethoden entfernt. (Ib381b)
Version 1.0.0-alpha05
24. März 2021
androidx.window:window:1.0.0-alpha05 ist veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Neue Funktionen
Wir haben FoldingFeature praktische Methoden hinzugefügt, damit Apps erkennen können, ob das Feature getrennt oder verdeckt wird, und die Ausrichtung des Scharniers bestimmen können. Außerdem wird der Scharniertyp ausgeblendet, damit
Wir entfernen die synchronen Lesemethoden aus WindowManager. Synchrone Lesemethoden sind fehleranfällig, da es eine implizite Race Condition gibt. Registrieren Sie Listener und Callbacks, um Updates zu WindowLayoutInfo zu erhalten.
API-Änderungen
- Praktische Methoden für die Arbeit mit FoldingFeatures hinzufügen (Ie733f)
- Synchrone Lesemethoden aus WindowManager entfernt (I96fd4)
Version 1.0.0-alpha04
10. März 2021
androidx.window:window:1.0.0-alpha04 ist veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
- Es wurde ein Fehler behoben, bei dem keine WindowLayoutInfo ausgegeben wurde, wenn keine OEM-Implementierung vorhanden war. Jetzt geben wir ein leeres WindowLayoutInfo aus.
- Ein Fehler wurde behoben, bei dem der Status nicht richtig aktualisiert wurde, wenn sich der Status des Scharniers änderte, während die App im Hintergrund ausgeführt wurde. Der Status sollte jetzt konsistent sein.
- Wir haben unsere ProGuard-Dateien aktualisiert, um Warnungen von Laufzeitabhängigkeiten zu ignorieren.
Fehlerkorrekturen
- Gibt einen leeren Wert aus, wenn die OEM-Bibliothek fehlt. (Ide935)
Version 1.0.0-alpha03
18. Februar 2021
androidx.window:window:1.0.0-alpha03 ist veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Neue Funktionen
- Gibt einen leeren Wert für WindowLayoutInfo aus, wenn die OEM-Implementierung leer ist. Dadurch sollte es einfacher sein, die Bibliothek auf mehr Geräten zu verwenden. Da die APIs asynchron sind, wird weiterhin empfohlen, dass Apps defensiven Code schreiben und nach einem Zeitlimit einen Standardwert ausgeben. Wir können keine Garantien für OEM-Implementierungen geben und der Anfangswert kann sich verzögern.
Fehlerkorrekturen
- Gibt einen leeren Wert aus, wenn die OEM-Bibliothek fehlt. (Ide935)
Version 1.0.0-alpha02
27. Januar 2021
androidx.window:window:1.0.0-alpha02 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Wir haben einige APIs eingestellt, um die API zu optimieren und Fehler zu reduzieren. Einige wichtige Beispiele sind das Entfernen der synchronen Lesevorgänge aus WindowManager und die Einstellung von DeviceState. Synchrones Lesen kann zu Race-Bedingungen und einer falschen Benutzeroberfläche führen. 
- Wir haben DisplayFeature in eine Schnittstelle umgewandelt, die künftig von anderen Funktionen implementiert wird. Das erste Feature ist „FoldingFeature“, das jetzt für eine Displayfalte oder ein Scharnier steht. Sie enthält auch den Status des Scharniers, der DeviceState ersetzt. 
- WindowMetrics wurde in Android 11 eingeführt, um Entwicklern eine einfache Möglichkeit zu bieten, Messwerte für ein Fenster abzufragen, z. B. seine Position und Größe auf dem Bildschirm sowie alle System-Insets. Wir haben die API in diesem Release rückportiert, damit Entwickler WindowMetrics nutzen und weiterhin ältere Android-Versionen unterstützen können. WindowMetrics können über die APIs - WindowManager#getCurrentWindowMetrics()und WindowManager#getMaximumWindowMetrics() abgerufen werden.
API-Änderungen
- APIs einstellen, die in der nächsten Alphaversion (Ib7cc4) entfernt werden
- ExtensionInterfacewurde aktualisiert, um explizite Activity-Referenzen zu akzeptieren. (I07ded)
- Einführung der WindowMetrics API. (I3ccee)
- Synchrone Lesemethoden aus WindowManager entfernen (I69983)
- Das Paket „ExtensionWindowBackend“ wird geschützt. (Ied208)
Fehlerkorrekturen
- ExtensionInterface-APIs aktualisieren, um visuelle Kontexte zu akzeptieren (I8e827)
Externe Beiträge
- DeviceState und WindowLayoutInfo werden zusammengeführt, um den Zugriff auf Daten zu erleichtern. (Id34f4)
Version 1.0.0-alpha01
27. Februar 2020
androidx.window:window:1.0.0-alpha01 und androidx.window:window-extensions:1.0.0-alpha01 werden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Dies ist die erste Version der Window Manager-Bibliothek.
Neue Funktionen
- DisplayFeature: Diese neue API erkennt Unterbrechungen auf durchgehend flachen Oberflächen wie Scharniere oder Falten.
- DeviceState: Diese neue API gibt die aktuelle Ausrichtung des Smartphones aus einer Liste definierter Ausrichtungen zurück (z. B.- CLOSED,- OPENED,- HALF_OPENEDusw.).
