Compose-Animation
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(API-Referenzdokumentation für alle Compose-Pakete)
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
2. Juli 2025 | 1.8.3 | - | 1.9.0-beta02 | - |
Struktur
Compose ist eine Kombination aus 7 Maven-Gruppen-IDs in androidx
. Jede Gruppe enthält eine bestimmte Teilmenge von Funktionen mit jeweils eigenen Versionshinweisen.
In dieser Tabelle werden die Gruppen erläutert und es sind Links zu den jeweiligen Versionshinweisen enthalten.
Gruppe | Beschreibung |
---|---|
compose.animation | Animationen in Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern. |
compose.compiler | @Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in ermöglichen |
compose.foundation | Mit den einsatzbereiten Bausteinen können Sie Jetpack Compose-Anwendungen schreiben und die Grundlage erweitern, um eigene Designsystemkomponenten zu erstellen. |
compose.material | Jetpack Compose-UIs mit einsatzbereiten Material Design-Komponenten erstellen Dies ist der Einstiegspunkt auf höherer Ebene für Compose. Er soll Komponenten bereitstellen, die den auf www.material.io beschriebenen Komponenten entsprechen. |
compose.material3 | Mit Material Design 3-Komponenten, der nächsten Generation von Material Design, können Sie Jetpack Compose-UIs erstellen. Material 3 umfasst aktualisierte Designs und Komponenten sowie Material You-Personalisierungsfunktionen wie dynamische Farben. Es ist auf den neuen visuellen Stil und die System-UI von Android 12 abgestimmt. |
compose.runtime | Grundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Core-Laufzeit für das Compose Compiler-Plug-in. |
compose.ui | Grundlegende Komponenten der Compose-Benutzeroberfläche, die für die Interaktion mit dem Gerät erforderlich sind, einschließlich Layout, Zeichnen und Eingabe. |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Compose 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.compose.animation:animation:1.8.3" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.8.3") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
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 abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Version 1.9
Version 1.9.0-beta02
2. Juli 2025
androidx.compose.animation:animation-*:1.9.0-beta02
wird veröffentlicht. Version 1.9.0-beta02 enthält diese Commits.
Version 1.9.0-beta01
18. Juni 2025
androidx.compose.animation:animation-*:1.9.0-beta01
wird veröffentlicht. Version 1.9.0-beta01 enthält diese Commits.
Version 1.9.0-alpha04
4. Juni 2025
androidx.compose.animation:animation-*:1.9.0-alpha04
wird veröffentlicht. Version 1.9.0-alpha04 enthält diese Commits.
Version 1.9.0-alpha03
20. Mai 2025
androidx.compose.animation:animation-*:1.9.0-alpha03
wird veröffentlicht. Version 1.9.0-alpha03 enthält diese Commits.
Version 1.9.0-alpha02
7. Mai 2025
androidx.compose.animation:animation-*:1.9.0-alpha02
wird veröffentlicht. Version 1.9.0-alpha02 enthält diese Commits.
Neue Funktionen
- Das Scrollen oder Ziehen in freigegebenen Elementen wird jetzt viel besser unterstützt. Wenn ein Übergangselement gescrollt wird, wird das Scroll-Delta direkt auf das Element angewendet, anstatt dass die Elemente dem neuen Ziel folgen. (cacf7b)
Version 1.9.0-alpha01
23. April 2025
androidx.compose.animation:animation-*:1.9.0-alpha01
wird veröffentlicht. Version 1.9.0-alpha01 enthält diese Commits.
Geändertes Verhalten
- Für Lint-Prüfungen, die mit Compose ausgeliefert werden, ist jetzt mindestens AGP-Version 8.8.2 erforderlich. Wenn Sie AGP nicht aktualisieren können, können Sie stattdessen Lint aktualisieren, indem Sie
android.experimental.lint.version=8.8.2
(oder eine neuere Version) in Ihrergradle.properties
verwenden. Um Compose-Lint-Prüfungen in der IDE auszuführen, ist Android Studio Ladybug oder höher erforderlich.
Neue Funktionen
- Verbesserte Scrollleistung für freigegebene Elemente (ea4f1f)
API-Änderungen
- Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich. (Idb6b5)
TabRow
undScrollableTabRow
werden zugunsten von primären und sekundären Varianten der jeweiligen Elemente eingestellt. Die Zeilen auf den Tabs „Primär“ und „Sekundär“ sind leistungsfähiger und entsprechen genauer den Spezifikationen. (I918e2)- Die Komposition
LocalResources
wurde lokal hinzugefügt, um Ressourcen abzufragen. WennLocalResources.current
aufgerufen wird, wird die Komposition bei einer Konfigurationsänderung neu erstellt. Daher werden bei Aufrufen von APIs wiestringResource()
aktualisierte Werte zurückgegeben (I50c13, b/274786917).
Fehlerkorrekturen
- Sicherstellen, dass freigegebene Elemente nach Abschluss des Übergangs aus dem Overlay entfernt werden (35f359)
- Zusätzliche Neuzusammenstellung bei Übergängen vermeiden (988923)
- Behebung von Problemen bei der Verarbeitung von Unterbrechungen von untergeordneten Übergängen (8aed52)
- Sicherstellen, dass der Übergang zurückgesetzt wird, wenn ein neuer
TransitionState
bereitgestellt wird (57820a)
Externe Beiträge
- Aus Compose
1.8.1
: End animations inSeekableTransitionState
if already past new duration by Steven Schoen. (0c832c)
Version 1.8
Version 1.8.3
18. Juni 2025
androidx.compose.animation:animation-*:1.8.3
wird veröffentlicht. Version 1.8.3 enthält diese Commits.
Version 1.8.2
20. Mai 2025
androidx.compose.animation:animation-*:1.8.2
wird veröffentlicht. Version 1.8.2 enthält diese Commits.
Version 1.8.1
7. Mai 2025
androidx.compose.animation:animation-*:1.8.1
wird veröffentlicht. Version 1.8.1 enthält diese Commits.
Externe Beiträge
- Ende-Animationen in
SeekableTransitionState
, wenn die neue Dauer bereits überschritten ist. Vielen Dank, Steven Schoen! (fbcdf7)
Version 1.8.0
23. April 2025
androidx.compose.animation:animation-*:1.8.0
wird veröffentlicht. Version 1.8.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.7.0
- Wichtige Änderungen in Version 1.8.0 werden in diesem Blogbeitrag beschrieben.
- Neue
Modifier.animateBounds
API zum Animieren von Größen- und Positionsänderungen innerhalb eines Lookahead-Bereichs. (94b939) - Finalisierte APIs für Keyframes mit Bögen und Splines (89e119)
- Unterstützt Lookahead in
LazyGrid
und Pager. Dazu gehört die Unterscheidung zwischen Lookahead- und Approach-Pass beim Scrollen, bei der Zusammensetzung/Entsorgung von Elementen und bei der Animation von Elementen. Außerdem wird der Lookahead-Pass als Quelle der Wahrheit für das Scrollen und das Ziel der Animation von Elementen verwendet. - Die Benennung des Parameters
sharedElement
wurde von „state“ zusharedContentState
geändert, um die Konsistenz zwischen den APIs für gemeinsame Elemente zu verbessern. (9e7df5) - Die
AnimatedImageVector
-API-Suite ist jetzt stabil.(69d7e0)
Version 1.8.0-rc03
9. April 2025
androidx.compose.animation:animation-*:1.8.0-rc03
wird veröffentlicht. Version 1.8.0-rc03 enthält diese Commits.
Version 1.8.0-rc02
26. März 2025
androidx.compose.animation:animation-*:1.8.0-rc02
wird veröffentlicht. Version 1.8.0-rc02 enthält diese Commits.
Version 1.8.0-rc01
12. März 2025
androidx.compose.animation:animation-*:1.8.0-rc01
wird veröffentlicht. Version 1.8.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Die Übergangsanimation für untergeordnete Elemente wurde fälschlicherweise als unterbrochen markiert. (3fa2ce)
Version 1.8.0-beta03
26. Februar 2025
androidx.compose.animation:animation-*:1.8.0-beta03
wird veröffentlicht. Version 1.8.0-beta03 enthält diese Commits.
Version 1.8.0-beta02
12. Februar 2025
androidx.compose.animation:animation-*:1.8.0-beta02
wird veröffentlicht. Version 1.8.0-beta02 enthält diese Commits.
Version 1.8.0-beta01
29. Januar 2025
androidx.compose.animation:animation-*:1.8.0-beta01
wird veröffentlicht. Version 1.8.0-beta01 enthält diese Commits.
Version 1.8.0-alpha08
15. Januar 2025
androidx.compose.animation:animation-*:1.8.0-alpha08
wird veröffentlicht. Version 1.8.0-alpha08 enthält diese Commits.
Fehlerkorrekturen
- Falsche Placement-Animation von
animateBounds
inLazyGrid
behoben, daMotionFrameOfReferencePlacement
zurückgesetzt wurde. (16193b) - Die intrinsische Abfrage in
SharedTransitionLayout
wurde korrigiert, indem sie von einem Lookahead-Stamm der obersten Ebene an den Lookahead-Pass weitergeleitet wurde. (a07d12) - Fehlende
@param
-Tags in der Dokumentation hinzugefügt. (e5cf67)
Version 1.8.0-alpha07
11. Dezember 2024
androidx.compose.animation:animation-*:1.8.0-alpha07
wird veröffentlicht. Version 1.8.0-alpha07 enthält diese Commits.
Neue Funktionen
- Unterstützt Lookahead in Pager, indem der Lookahead-Pass vom Approach-Pass unterschieden wird, um Elemente beizubehalten und das Scrollen zu nutzen. (b/371802474)
Fehlerkorrekturen
- Ein seltener Absturz wird behoben, der auftritt, wenn ein gemeinsames Element zusammengesetzt, aber nie gemessen/platziert wird. Dazu wird festgelegt, dass das gemeinsame Element mindestens einmal an der richtigen Stelle gerendert werden muss, bevor es im Overlay gerendert wird. (b/371802474)
Version 1.8.0-alpha06
13. November 2024
androidx.compose.animation:animation-*:1.8.0-alpha06
wird veröffentlicht. Version 1.8.0-alpha06 enthält diese Commits.
API-Änderungen
- Die Benennung des Parameters
sharedElement
wurde vonstate
zusharedContentState
aktualisiert, um die Konsistenz zwischen den APIs für gemeinsame Elemente zu verbessern. (I5694c, b/375351468) - Die
AnimatedImageVector
-Suite von APIs ist jetzt stabil. (I7174b, b/261436267)
Version 1.8.0-alpha05
30. Oktober 2024
androidx.compose.animation:animation-*:1.8.0-alpha05
wird veröffentlicht. Version 1.8.0-alpha05 enthält diese Commits.
Neue Funktionen
- Lookahead wird jetzt in
LazyGrid
unterstützt. Dazu gehört die Unterscheidung zwischen Lookahead- und Approach-Pass beim Scrollen, bei der Zusammensetzung/Entsorgung von Elementen und bei der Animation von Elementen. Außerdem wird der Lookahead-Pass als Quelle der Wahrheit für das Scrollen und das Ziel der Animation von Elementen verwendet.
Fehlerkorrekturen
- Aktualisiert interne Status für die Größenänderung von
AnimatedContent
, wenn der Übergang neu erstellt wird. So sind die Informationen zur Zielgruppengröße immer auf dem neuesten Stand. (b/372512085)
Version 1.8.0-alpha04
16. Oktober 2024
androidx.compose.animation:animation-*:1.8.0-alpha04
wird veröffentlicht. Version 1.8.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, der dazu führte, dass einige Easing-Kurven bei bestimmten Zeitbruchteilen abstürzten.
- Ein Fehler wurde behoben, der zu einer falschen Ausrichtung von
Modifier.animateContentSize
in RTL-Sprachen führte. (Idae6b, b/372055503)
Version 1.8.0-alpha03
2. Oktober 2024
androidx.compose.animation:animation-*:1.8.0-alpha03
wird veröffentlicht. Version 1.8.0-alpha03 enthält diese Commits.
API-Änderungen
- Aktualisierung der Kotlin-Version auf 1.9 (I1a14c)
Fehlerkorrekturen
- Ein Problem bei der Größenanimation von
AnimatedContent
wurde behoben. Die Animation wird jetzt immer von der aktuellen Größe aus gestartet, um die Kontinuität zu gewährleisten.
Version 1.8.0-alpha02
18. September 2024
androidx.compose.animation:animation-*:1.8.0-alpha02
wird veröffentlicht. Version 1.8.0-alpha02 enthält diese Commits.
Version 1.8.0-alpha01
4. September 2024
androidx.compose.animation:animation-*:1.8.0-alpha01
wird veröffentlicht. Version 1.8.0-alpha01 enthält diese Commits.
Neue Funktionen
- Neue
Modifier.animateBounds
API zum Animieren von Größen- und Positionsänderungen innerhalb eines Lookahead-Bereichs. 94b9394
API-Änderungen
- Entfernen von experimentellen Flags für Keyframes mit Bögen und Splines (89e1199)
Fehlerkorrekturen
placeHolderSize
-Logik überspringen, wenn keine Übereinstimmung gefunden wird (77c0160)- Wiedergabezeit in
AndroidFlingSpline
begrenzen, um Abstürze aufgrund nicht monoton ansteigender Wiedergabezeit zu verhindern(9d47587) - Problem behoben, bei dem
SharedTransitionScope
unter bestimmten Bedingungen keine Elemente gezeichnet hat (b41077b6)
Externe Beiträge
- Verhindere das Festlegen von suchbaren Übergängen
playTime
, wenn kein Übergang von Steven Schoen ausgeführt wird. (c2e6e7e6)
Version 1.7
Version 1.7.8
12. Februar 2025
androidx.compose.animation:animation-*:1.7.8
wird veröffentlicht. Version 1.7.8 enthält diese Commits.
Version 1.7.7
29. Januar 2025
androidx.compose.animation:animation-*:1.7.7
wird veröffentlicht. Keine Änderungen gegenüber Version 1.7.6.
11. Dezember 2024
androidx.compose.animation:animation-*:1.7.6
wird veröffentlicht. Version 1.7.6 enthält diese Commits.
Version 1.7.5
30. Oktober 2024
androidx.compose.animation:animation-*:1.7.5
wird veröffentlicht. Version 1.7.5 enthält diese Commits.
Fehlerkorrekturen
- Ein Fehler wurde behoben, der zu einer falschen Ausrichtung von
Modifier.animateContentSize
in RTL-Sprachen führte. (Idae6b, b/372055503)
Version 1.7.4
16. Oktober 2024
androidx.compose.animation:animation-*:1.7.4
wird veröffentlicht. Version 1.7.4 enthält diese Commits.
Version 1.7.3
2. Oktober 2024
androidx.compose.animation:animation-*:1.7.3
wird veröffentlicht. Version 1.7.3 enthält diese Commits.
Version 1.7.2
18. September 2024
androidx.compose.animation:animation-*:1.7.2
wird veröffentlicht. Version 1.7.2 enthält diese Commits.
Externe Beiträge
- Das Festlegen der suchbaren Übergangs-
playTime
wird verhindert, wenn kein Übergang ausgeführt wird. Vielen Dank, Steven Schoen! (c2e6e7e6)
Version 1.7.1
10. September 2024
- An Android-Artefakten wurden keine Änderungen vorgenommen.
-desktop
Artefakte wurden entfernt und-jvmStubs
- und-linuxx64Stubs
-Artefakte wurden hinzugefügt. Keines dieser Ziele ist für die Verwendung vorgesehen. Sie sind Platzhalter, um die Bemühungen von Jetbrains Compose zu unterstützen.
Version 1.7.0
4. September 2024
androidx.compose.animation:animation-*:1.7.0
wird veröffentlicht.
Wichtige Änderungen seit Version 1.6.0
Wichtige Änderungen in Version 1.7.0 werden in diesem Blogpost beschrieben.
Neue APIs für Übergänge mit gemeinsam genutzten Elementen
- Neue APIs für Übergänge zwischen gemeinsamen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als layoutbaumübergreifend geteilt gekennzeichnet werden. Dadurch werden die Grenzen beim Ein- und Ausblenden von gemeinsam genutzten Inhalten fließend geändert. (Icb0b9)
- Neue
scaleInSharedContentToBounds
undscaleOutSharedContentToBounds
zum Skalieren von Inhalten insharedBounds
(I731c1) - Die experimentelle
SharedTransitionScope
ist jetzt eine Schnittstelle und keine Klasse mehr. (Iaf856) - Neue
resizeModes
(ScaleToBounds
undRemeasureToBounds
) fürsharedBounds
, um zwischen Skalierung und erneuter Messung zu wählen. Die bisherigenscaleIn/OutSharedContentToBounds
-APIs werden nicht mehr unterstützt. (I0d41a)
Verbesserungen an vorhandenen APIs:
- Neuer
Modifier.animateContentSize
, der einen zusätzlichen Parameter für die Ausrichtung benutzerdefinierter Inhalte akzeptiert. (I5623a, b/269803907) - Neues experimentelles
DeferredTargetAnimation
zum Animieren von Größe, Position oder einem anderen Ziel, das bei der Instanziierung unbekannt ist. (I60745) SeekableTransitionState
ersetztsnapTo()
durchseekTo()
und fügt einsnapTo()
hinzu, das den Status sofort in einen Zielstatus ändert, ohne dass eine Animation erfolgt.- Sie können jetzt einen
periodicBias
-Wert (Gleitkommazahl) ankeyframesWithSpline
übergeben. Dadurch sind die Anfangs- und Endgeschwindigkeit des Splines gleich. Nützlich für wiederholbare Animationen mit Splines. Die Bias-Werte geben an, wie stark die einzelnen Geschwindigkeiten (Anfangs- und Endgeschwindigkeit) angepasst werden müssen, um Periodizität zu erreichen. (Ic1e6c, b/292114811)
Die folgenden APIs sind stabil geworden oder wurden entfernt:
AnimatedVisibilityScope.transition
ist jetzt eine stabile API.Modifier.animateEnterExit(..)
wurde ebenfalls stabilisiert. (I6c1d1)ApproachLayoutModifierNode
undModifier.approachLayout
sind jetzt stabil. Die altenisMeasurementApproachComplete()
undisPlacementApproachComplete()
wurden durch die neuenisMeasurementApproachInProgress()
undisPlacementApproachInProgress()
ersetzt.- Die eingestellte Anpassung
intermediateLayout
wurde entfernt. (I3e91c) - Die
LookaheadScope
APIs sind jetzt stabil. (I21507)
Version 1.7.0-rc01
21. August 2024
androidx.compose.animation:animation-*:1.7.0-rc01
wird veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.
Version 1.7.0-beta07
7. August 2024
androidx.compose.animation:animation-*:1.7.0-beta07
wird veröffentlicht. Version 1.7.0-beta07 enthält diese Commits.
Fehlerkorrekturen
- Das Problem wurde behoben, dass
SharedTransitionScope
unter bestimmten Bedingungen keine Overlay-Elemente während des Übergangs gezeichnet hat. Dies betraf in der Regel die Verwendung mit Navigation. (Id65ab, b/347520198)
Version 1.7.0-beta06
24. Juli 2024
androidx.compose.animation:animation-*:1.7.0-beta06
wird veröffentlicht. Version 1.7.0-beta06 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, durch das
SeekableTransition
Übergangszustände weitergegeben hat. Dazu wurden Beobachtungen ausSnapshotStateObserver
beim Schließen des Übergangs richtig bereinigt. (b9c7182) - Es wurden Grenzfälle behoben, in denen untergeordnete Übergänge nicht richtig als abgeschlossen markiert wurden, wenn der übergeordnete Übergang abgeschlossen war. (dc42216)
Version 1.7.0-beta05
10. Juli 2024
androidx.compose.animation:animation-*:1.7.0-beta05
wird veröffentlicht. Version 1.7.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Die Transition-Property
totalDurationNanos
kann jetzt in einemsnapshotFlow
richtig gelesen werden.
Version 1.7.0-beta04
26. Juni 2024
androidx.compose.animation:animation-*:1.7.0-beta04
wird veröffentlicht. Version 1.7.0-beta04 enthält diese Commits.
Version 1.7.0-beta03
12. Juni 2024
androidx.compose.animation:animation-*:1.7.0-beta03
wird veröffentlicht. Version 1.7.0-beta03 enthält diese Commits.
Version 1.7.0-beta02
29. Mai 2024
androidx.compose.animation:animation-*:1.7.0-beta02
wird veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.
Version 1.7.0-beta01
14. Mai 2024
androidx.compose.animation:animation-*:1.7.0-beta01
wird veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.
API-Änderungen
- Neue
resizeModes
(ScaleToBounds
undRemeasureToBounds
) fürsharedBounds
, um zwischen Skalierung und erneuter Messung zu wählen. Die bisherigenscaleIn/OutSharedContentToBounds
-APIs werden nicht mehr unterstützt. (I0d41a)
Externe Beiträge
- Die experimentelle
SharedTransitionScope
ist jetzt eine Schnittstelle und keine Klasse mehr. (Iaf856, b/338415048, b/338414702)
Version 1.7.0-alpha08
1. Mai 2024
androidx.compose.animation:animation-*:1.7.0-alpha08
wird veröffentlicht. Version 1.7.0-alpha08 enthält diese Commits.
API-Änderungen
- Die
LookaheadScope
APIs sind jetzt stabil. (I21507)
Externe Beiträge
- Clear start animation time after
SeekableTransitionState
animates/snaps by Steven Schoen (1ca89529)
Version 1.7.0-alpha07
17. April 2024
androidx.compose.animation:animation-*:1.7.0-alpha07
wird veröffentlicht. Version 1.7.0-alpha07 enthält diese Commits.
Neue Funktionen
- Neue APIs für Übergänge zwischen gemeinsamen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als layoutbaumübergreifend geteilt gekennzeichnet werden. Dadurch werden die Grenzen beim Ein- und Ausblenden von gemeinsam genutzten Inhalten fließend geändert. (Icb0b9)
- Neue
scaleInSharedContentToBounds
undscaleOutSharedContentToBounds
zum Skalieren von Inhalten insharedBounds
(I731c1)
API-Änderungen
AnimatedVisibilityScope.transition
ist jetzt eine stabile API.Modifier.animateEnterExit(..)
wurde ebenfalls stabilisiert. (I6c1d1)ApproachLayoutModifierNode
undModifier.approachLayout
sind jetzt stabil. Die altenisMeasurementApproachComplete()
undisPlacementApproachComplete()
wurden durch die neuenisMeasurementApproachInProgress()
undisPlacementApproachInProgress()
ersetzt.- Die eingestellte Anpassung
intermediateLayout
wurde entfernt. (I3e91c) - Sie können jetzt einen
periodicBias
-Wert (Gleitkommazahl) ankeyframesWithSpline
übergeben. Dadurch sind die Anfangs- und Endgeschwindigkeit des Splines gleich. Nützlich für wiederholbare Animationen mit Splines. Die Bias-Werte geben an, wie stark die einzelnen Geschwindigkeiten (Anfangs- und Endgeschwindigkeit) angepasst werden müssen, um Periodizität zu erreichen. (Ic1e6c, b/292114811)
Fehlerkorrekturen
- Das Überschwingen und Unterschwingen von Easing-Kurven, die zuvor auf 0..1 begrenzt wurden, wurde korrigiert (I38747).
Version 1.7.0-alpha06
3. April 2024
androidx.compose.animation:animation-*:1.7.0-alpha06
wird veröffentlicht. Version 1.7.0-alpha06 enthält diese Commits.
Neue Funktionen
- Unterstützung für Animationen zum Ein- und Ausblenden von Elementen wurde in
LazyColumn
undLazyRow
hinzugefügt. Bisher war es möglich, den ModifiziererModifier.animateItemPlacement()
hinzuzufügen, um Animationssequenzen für die Platzierung (Neuanordnung) zu unterstützen. Wir haben diesen Modifikator eingestellt und einen neuen, nicht experimentellen Modifikator namensModifier.animateItem()
eingeführt, mit dem Sie alle drei Animationstypen unterstützen können: Einblenden, Ausblenden und Neuanordnen. (I2d7f7, b/330152398, b/150812265)
Fehlerkorrekturen
- Verbesserte Leistung der
updateTransition
API.
Version 1.7.0-alpha05
20. März 2024
androidx.compose.animation:animation-*:1.7.0-alpha05
wird veröffentlicht. Version 1.7.0-alpha05 enthält diese Commits.
API-Änderungen
SeekableTransitionState
ersetztsnapTo()
durchseekTo()
und fügt einsnapTo()
hinzu, das den Status sofort in einen Zielstatus ändert, ohne dass eine Animation erfolgt.
Version 1.7.0-alpha04
6. März 2024
androidx.compose.animation:animation-*:1.7.0-alpha04
wird veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.
API-Änderungen
- Neue API
Path.reverse()
zum Umkehren der Richtung eines Pfads (I36348)
Version 1.7.0-alpha03
21. Februar 2024
androidx.compose.animation:animation-*:1.7.0-alpha03
wird veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.
Neue Funktionen
- Neuer
Modifier.animateContentSize
, der einen zusätzlichen Parameter für die Ausrichtung benutzerdefinierter Inhalte akzeptiert. (I5623a, b/269803907) - Neues experimentelles
DeferredTargetAnimation
zum Animieren von Größe, Position oder einem anderen Ziel, das bei der Instanziierung unbekannt ist. (I60745)
Version 1.7.0-alpha02
7. Februar 2024
androidx.compose.animation:animation-*:1.7.0-alpha02
wird veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Kompatibilitätskorrektur für
KeyframesSpec
. (I2bdf3, b/322214617) - Das Problem, dass
Modifier.animateContentSize
inLazyList
nicht richtig zurückgesetzt wurde, wurde behoben. (I070512, b/322525716) - Der Fehler
IllegalStateException
aufKeyframesSpec
bei Verwendung von Zeitstempeln außerhalb des Bereichs wurde behoben. (I341b8, b/322839811)
Version 1.7.0-alpha01
24. Januar 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
wird veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
Version 1.6
Version 1.6.8
12. Juni 2024
androidx.compose.animation:animation-*:1.6.8
wird veröffentlicht. Version 1.6.8 enthält diese Commits.
Version 1.6.7
1. Mai 2024
androidx.compose.animation:animation-*:1.6.7
wird veröffentlicht. Version 1.6.7 enthält diese Commits.
Version 1.6.6
17. April 2024
androidx.compose.animation:animation-*:1.6.6
wird veröffentlicht. Keine Änderungen seit der letzten Version
Version 1.6.5
3. April 2024
androidx.compose.animation:animation-*:1.6.5
wird veröffentlicht. Version 1.6.5 enthält diese Commits.
Version 1.6.4
20. März 2024
androidx.compose.animation:animation-*:1.6.4
wird veröffentlicht. Version 1.6.4 enthält diese Commits.
Version 1.6.3
6. März 2024
androidx.compose.animation:animation-*:1.6.3
wird veröffentlicht. Version 1.6.3 enthält diese Commits.
Version 1.6.2
21. Februar 2024
androidx.compose.animation:animation-*:1.6.2
wird veröffentlicht. Version 1.6.2 enthält diese Commits.
Version 1.6.1
7. Februar 2024
androidx.compose.animation:animation-*:1.6.1
wird veröffentlicht. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Kompatibilitätskorrektur für
KeyframesSpec
. (I2bdf3, b/322214617)
Version 1.6.0
24. Januar 2024
androidx.compose.animation:animation-*:1.6.0
wird veröffentlicht. Version 1.6.0 enthält diese Commits.
Version 1.6.0-rc01
10. Januar 2024
androidx.compose.animation:animation-*:1.6.0-rc01
wird veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.
Version 1.6.0-beta03
13. Dezember 2023
androidx.compose.animation:animation-*:1.6.0-beta03
wird veröffentlicht. Version 1.6.0-beta03 enthält diese Commits.
API-Änderungen
scaleInToFitContainer
undscaleOutToFitContainer
wurden vorübergehend ausAnimatedContentTransitionScope
entfernt, da sie Lookahead erfordern. Sie sind verfügbar, wenn Lookahead standardmäßig aktiviert ist oder in zukünftigen Versionen aktiviert wird.
Version 1.6.0-beta02
29. November 2023
androidx.compose.animation:animation-*:1.6.0-beta02
wird veröffentlicht. Version 1.6.0-beta02 enthält diese Commits.
Version 1.6.0-beta01
15. November 2023
androidx.compose.animation:animation-*:1.6.0-beta01
wird veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
API-Änderungen
ExitTransition.Hold
wurde inExitTransition.KeepUntilTransitionsFinished
umbenannt, um die Funktion deutlicher zu machen. (I1c490)- Sie können jetzt
keyframesWithSpline
verwenden, um beliebige N-dimensionale Werte mithilfe monotoner Splines zu interpolieren. Das ist besonders nützlich, um Positionsdaten wieOffset
,IntOffset
undDpOffset
zu interpolieren. Als experimentelle API hinzugefügt.
Fehlerkorrekturen
- Renderer-Unterstützung für Sweep Gradient in
ArcLine
hinzufügen. (I4d5bb) - Implementieren Sie „equals“ und „hashcode“ für
PageSize.Fixed
. (Ie3ede, b/300134276) - Behebt ein Problem mit der binären Kompatibilität bei einer Änderung des Window Inset. (Iee695)
- Die Material-Kernschicht für Material3-Chips/-Schaltflächen wurde entfernt, da die Microbenchmarks ohne sie eine bessere Leistung zeigen. (I55555)
Version 1.6.0-alpha08
18. Oktober 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
wird veröffentlicht. Version 1.6.0-alpha08 enthält diese Commits.
API-Änderungen
KeyframesSpecConfig#with
wurde zugunsten vonKeyframesSpecConfig#using
verworfen, wodurch das Builder-Muster beibehalten wird. (I1d769)
Version 1.6.0-alpha07
4. Oktober 2023
androidx.compose.animation:animation-*:1.6.0-alpha07
wird veröffentlicht. Version 1.6.0-alpha07 enthält diese Commits.
API-Änderungen
- Für feste und scrollbare Tabellenzeilen gibt es jetzt primäre und sekundäre Varianten. Sie entsprechen der Farb- und Indikatorfunktion, die in Material 3 definiert ist.
PrimaryScrollableTabRow
undSecondaryScrollableTabRow
geben jetzt den Scrollstatus aus. (Iec8f5, b/260572337)
Version 1.6.0-alpha06
20. September 2023
androidx.compose.animation:animation-*:1.6.0-alpha06
wird veröffentlicht. Version 1.6.0-alpha06 enthält diese Commits.
Version 1.6.0-alpha05
6. September 2023
androidx.compose.animation:animation-*:1.6.0-alpha05
wird veröffentlicht. Version 1.6.0-alpha05 enthält diese Commits.
API-Änderungen
PathEasing
wurde hinzugefügt, damit ein beliebiger Pfad für eine Easing-Kurve angegeben werden kann. (Idb4b9)
Version 1.6.0-alpha04
23. August 2023
androidx.compose.animation:animation-*:1.6.0-alpha04
wird veröffentlicht. Version 1.6.0-alpha04 enthält diese Commits.
API-Änderungen
- Fügen Sie
SeekableTransitionState
hinzu, damit Entwickler den Fortschritt eines Übergangs steuern können. (I8e69d)
Version 1.6.0-alpha03
9. August 2023
androidx.compose.animation:animation-*:1.6.0-alpha03
wird veröffentlicht. Version 1.6.0-alpha03 enthält diese Commits.
API-Änderungen
- Neuer Typ für Ein- und Ausblendungsübergänge, bei dem der Inhalt während der Ein- und Ausblendungsanimation an die Größe des animierenden Containers angepasst wird.
LookaheadScope
Composable-Funktionen und ‑Schnittstelle sind jetzt stabil. (Ifb2ce)
Version 1.6.0-alpha02
26. Juli 2023
androidx.compose.animation:animation-*:1.6.0-alpha02
wird veröffentlicht. Version 1.6.0-alpha02 enthält diese Commits.
API-Änderungen
- Neues
ExitTransition.Hold
zum Anzeigen ausgehender Inhalte inAnimatedContent
, bis sowohl der Ein- als auch der Ausblendungsvorgang abgeschlossen sind. (I5984f) - Zusätzliche Anmerkungen zum Angeben zulässiger Eingaben für Composables (I51109)
Version 1.6.0-alpha01
21. Juni 2023
androidx.compose.animation:animation-*:1.6.0-alpha01
wird veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.
Neue Funktionen
- Aktivieren Sie die vollständige Integration von
Modifier.animateContentSize
undAnimatedVisibility
in das Lookahead-System, indem Sie die Zielgröße im Lookahead-Pass angeben.
API-Änderungen
- Neues Attribut in
IntrinsincMeasureScope
und seinen Implementierungen (z.B.MeasureScope
), um anzugeben, ob der aktuelle Messdurchlauf ein Lookahead-Durchlauf ist. (I7a812)
Fehlerkorrekturen
- Zuweisungen aus Federanimationen entfernt. (Ie9431)
- Der Name des Wertparameters für Enum.valueOf wurde geändert (Ia9b89)
- Es werden mehr Ausnahmen von „enum valueOf“ ausgelöst (I818fe)
Version 1.5
Version 1.5.4
18. Oktober 2023
androidx.compose.animation:animation-*:1.5.4
wird veröffentlicht. Version 1.5.4 enthält diese Commits.
Version 1.5.3
4. Oktober 2023
androidx.compose.animation:animation-*:1.5.3
wird veröffentlicht. Diese Version enthält keine Änderungen
Version 1.5.2
27. September 2023
androidx.compose.animation:animation-*:1.5.2
wird veröffentlicht. Version 1.5.2 enthält diese Commits.
Version 1.5.1
6. September 2023
androidx.compose.foundation:foundation-*:1.5.1
wird veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Fehler behoben, bei dem in Textfeldern die Tastatur angezeigt wurde und sie bearbeitet werden konnten, wenn
readOnly
auf „true“ gesetzt war. Außerdem wurde ein Fehler behoben, durch den die Tastatur nicht angezeigt wurde, wennreadOnly
im Fokus von „true“ zu „false“ geändert wurde. (I34a19, b/246909589)
Version 1.5.1
6. September 2023
androidx.compose.animation:animation-*:1.5.1
wird veröffentlicht. Version 1.5.1 enthält diese Commits.
Version 1.5.0
9. August 2023
androidx.compose.animation:animation-*:1.5.0
wird veröffentlicht. Version 1.5.0 enthält diese Commits.
Version 1.5.0-rc01
26. Juli 2023
androidx.compose.animation:animation-*:1.5.0-rc01
wird veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Fehlerkorrekturen
Ein Problem wurde behoben, bei dem beim Aufrufen von
.value
für einen primitiven Status-Typ (z. B.MutableIntState
) eine Lint-Warnung mit einer ungültigen Korrektur gemeldet wurde. Bei der Überprüfung wird jetzt empfohlen, zur richtigen Property zu migrieren. (Iba953, b/287279257)Es ist eine optionale Prüfung verfügbar, mit der empfohlen wird,
mutableStateOf()
-Aufrufe zu den entsprechenden spezialisierten Typen für Primitiven zu migrieren. Die Lint-ID lautetAutoboxingStateCreation
. Bisher war diese Prüfung standardmäßig für alle Projekte aktiviert. Wenn Sie diese Warnung im Editor von Android Studio und in den Lint-Ausgaben Ihres Projekts sehen möchten, ändern Sie den Schweregrad von „Informational“ zu „Warning“ (oder höher), indem Siewarning "AutoboxingStateCreation"
in derbuild.gradle
- oderbuild.gradle.kts
-Konfiguration Ihres Moduls deklarieren, wie unten gezeigt (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Version 1.5.0-beta03
28. Juni 2023
androidx.compose.animation:animation-*:1.5.0-beta03
wird veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.
Version 1.5.0-beta02
7. Juni 2023
androidx.compose.animation:animation-*:1.5.0-beta02
wird veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.
Version 1.5.0-beta01
24. Mai 2023
androidx.compose.animation:animation-*:1.5.0-beta01
wird veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
API-Änderungen
- Zuweisungen in der Neukomposition, Farbanimationen und
AndroidComposeView
(Ib2bfa) entfernt
Fehlerkorrekturen
- Zuweisungen aus federnden Animationen entfernt (Ie9431)
Version 1.5.0-alpha04
10. Mai 2023
androidx.compose.animation:animation-*:1.5.0-alpha04
wird veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.
API-Änderungen
ContentKey
wird jetzt inAnimatedContent
unterstützt, damit Sie besser steuern können, wann der Übergang erfolgen soll. (Ic069b)
Version 1.5.0-alpha03
19. April 2023
androidx.compose.animation:animation-*:1.5.0-alpha03
wird veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.
Neue Funktionen
- Neues Standardverhalten für
SubcomposeLayout
inLookaheadScope
. So könnenSubcomposeLayouts
ohne bedingte Slots (z. B.TabRow
,Scaffold
,BoxWithConstraints
usw.) gut mit Lookahead-Animationen verwendet werden.
API-Änderungen
- Mit dem neuen Standard-
intermediateMeasurePolicy
, bei dem die Messrichtlinie aus dem Lookahead-Pass wiederverwendet wird, könnenSubcomposeLayout
-Untertypen ohne bedingte Slots wieScaffold
,TabRow
undBoxWithConstraints
standardmäßig mit Lookahead verwendet werden. (Id84c8) - Benennen Sie die Infix-Funktion mit
togetherWith
um, um Ein- und Ausblendungsübergänge zu kombinieren. NeuesAnimatedContentScope
als Empfänger für die Content-Lambda-Funktion. (Ic39ae)
Version 1.5.0-alpha02
5. April 2023
androidx.compose.animation:animation-*:1.5.0-alpha02
wird veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
Neue Funktionen
- Neue experimentelle API zur Unterstützung von Lookahead in
SubcomposeLayout
. Dadurch kannSubcomposeLayout
in einemLookaheadScope
ordnungsgemäß funktionieren. Bald wird es mehr sofort einsatzbereite Unterstützung für bestimmte Untertypen vonSubcomposeLayout
geben.
API-Änderungen
- Neue
SubcomposeLayout
API, die eine zusätzliche Richtlinie für Zwischenmessungen zur Verarbeitung der Mess- und Layoutlogik bei Lookahead-basierten Animationen verwendet. (I017d3)
Version 1.5.0-alpha01
22. März 2023
androidx.compose.animation:animation-*:1.5.0-alpha01
wird veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
API-Änderungen
AnimatedContent
-APIs sind jetzt stabil.AnimatedContentScope
wurde inAnimatedContentTransitionScope
umbenannt.scaleIn
undscaleOut
sind jetzt stabile APIs. (Iaf54e)
Version 1.4
Version 1.4.3
3. Mai 2023
androidx.compose.animation:animation:1.4.3
, androidx.compose.animation:animation-core:1.4.3
und androidx.compose.animation:animation-graphics:1.4.3
werden ohne Änderungen veröffentlicht (nur eine Versionsaktualisierung).
Version 1.4.2
19. April 2023
androidx.compose.animation:animation:1.4.2
, androidx.compose.animation:animation-core:1.4.2
und androidx.compose.animation:animation-graphics:1.4.2
werden ohne Änderungen veröffentlicht. Version 1.4.2 enthält diese Commits.
Version 1.4.1
5. April 2023
androidx.compose.animation:animation:1.4.1
, androidx.compose.animation:animation-core:1.4.1
und androidx.compose.animation:animation-graphics:1.4.1
werden ohne Änderungen veröffentlicht. Version 1.4.1 enthält diese Commits.
Version 1.4.0
22. März 2023
androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
und androidx.compose.animation:animation-graphics:1.4.0
sind veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
- Das Tooling-Label wird in r
ememberInfiniteTransition
und allen Erweiterungsfunktionen fürInfiniteTransition
und Transition (z. B.InfiniteTransition#animateColor
) unterstützt (I56ef7).
Version 1.4.0-rc01
8. März 2023
androidx.compose.animation:animation:1.4.0-rc01
, androidx.compose.animation:animation-core:1.4.0-rc01
und androidx.compose.animation:animation-graphics:1.4.0-rc01
werden ohne Änderungen veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
Version 1.4.0-beta02
22. Februar 2023
androidx.compose.animation:animation:1.4.0-beta02
, androidx.compose.animation:animation-core:1.4.0-beta02
und androidx.compose.animation:animation-graphics:1.4.0-beta02
werden ohne Änderungen veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.
Version 1.4.0-beta01
8. Februar 2023
androidx.compose.animation:animation:1.4.0-beta01
, androidx.compose.animation:animation-core:1.4.0-beta01
und androidx.compose.animation:animation-graphics:1.4.0-beta01
werden ohne Änderungen veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
Version 1.4.0-alpha05
25. Januar 2023
androidx.compose.animation:animation:1.4.0-alpha05
, androidx.compose.animation:animation-core:1.4.0-alpha05
und androidx.compose.animation:animation-graphics:1.4.0-alpha05
sind veröffentlicht. Version 1.4.0-alpha05 enthält diese Commits.
Änderungen
- Keine Änderungen an Animationsbibliotheken seit der letzten Alphaversion, nur Versionsinkrementierung
Version 1.4.0-alpha04
11. Januar 2023
androidx.compose.animation:animation:1.4.0-alpha04
, androidx.compose.animation:animation-core:1.4.0-alpha04
und androidx.compose.animation:animation-graphics:1.4.0-alpha04
sind veröffentlicht. Version 1.4.0-alpha04 enthält diese Commits.
Neue Funktionen
- Das Tooling-Label wird in
rememberInfiniteTransition
und allen Erweiterungsfunktionen fürInfiniteTransition
undTransition
unterstützt, z. B.InfiniteTransition#animateColor
(I56ef7).
API-Änderungen
- Die APIs
InfiniteTransition#TransitionAnimationState
undInfiniteTransition#animations
sind jetzt öffentlich. (I36682)
Version 1.4.0-alpha03
7. Dezember 2022
androidx.compose.animation:animation:1.4.0-alpha03
, androidx.compose.animation:animation-core:1.4.0-alpha03
und androidx.compose.animation:animation-graphics:1.4.0-alpha03
sind veröffentlicht. Version 1.4.0-alpha03 enthält diese Commits.
API-Änderungen
- Bei UI-Tests mit einer Compose-Regel werden Fortsetzungen, die während
withFrameNanos
-Rückrufen fortgesetzt werden, erst nach Abschluss aller Frame-Rückrufe gesendet. Dies entspricht dem Verhalten von Compose bei normaler Ausführung. Tests, die auf dem alten Verhalten basieren, können jedoch fehlschlagen. Dies sollte sich nur auf Code auswirken, derwithFrameNanos
oderwithFrameMillis
direkt aufruft und Logik außerhalb des an diese Funktionen übergebenen Rückrufs enthält, die möglicherweise in die Rückrufe verschoben werden muss. In dieser CL finden Sie Beispiele für Änderungen am Animationstest. - Dem Konstruktor und der Factory-Funktion von
TestMonotonicFrameClock
wurde der optionale ParameteronPerformTraversals: (Long) -> Unit
hinzugefügt, um Code nachwithFrameNanos
-Callbacks, aber vor dem Fortsetzen der Coroutinen der Aufrufer auszuführen. (Idb413, b/254115946, b/222093277, b/255802670) - Neuer Parameter in
AnimatedContent
für das Tooling-Label (Iebe2d)
Version 1.4.0-alpha02
9. November 2022
androidx.compose.animation:animation:1.4.0-alpha02
, androidx.compose.animation:animation-core:1.4.0-alpha02
und androidx.compose.animation:animation-graphics:1.4.0-alpha02
sind veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
API-Änderungen
- Fügen Sie
ToolingState
hinzu, damit Tools interne Status von Composables ändern können (Ie6614).
Version 1.4.0-alpha01
24. Oktober 2022
androidx.compose.animation:animation:1.4.0-alpha01
, androidx.compose.animation:animation-core:1.4.0-alpha01
und androidx.compose.animation:animation-graphics:1.4.0-alpha01
sind veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Falsche Unterbrechungsanimation in AnimatedContent behoben (b/238662479)
Version 1.3
Version 1.3.3
11. Januar 2023
androidx.compose.animation:animation:1.3.3
, androidx.compose.animation:animation-core:1.3.3
und androidx.compose.animation:animation-graphics:1.3.3
sind veröffentlicht. Version 1.3.3 enthält diese Commits.
- Keine Änderungen seit Version 1.3.2.
Version 1.3.2
7. Dezember 2022
androidx.compose.animation:animation:1.3.2
, androidx.compose.animation:animation-core:1.3.2
und androidx.compose.animation:animation-graphics:1.3.2
sind veröffentlicht. Version 1.3.2 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert zur Unterstützung von androidx.compose.ui 1.3.2
Version 1.3.1
9. November 2022
androidx.compose.animation:animation:1.3.1
, androidx.compose.animation:animation-core:1.3.1
und androidx.compose.animation:animation-graphics:1.3.1
sind veröffentlicht. Version 1.3.1 enthält diese Commits.
Version 1.3.0
24. Oktober 2022
androidx.compose.animation:animation:1.3.0
, androidx.compose.animation:animation-core:1.3.0
und androidx.compose.animation:animation-graphics:1.3.0
sind veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Neue Reihe von Easing-Funktionen ist stabil
Version 1.3.0-rc01
5. Oktober 2022
androidx.compose.animation:animation:1.3.0-rc01
, androidx.compose.animation:animation-core:1.3.0-rc01
und androidx.compose.animation:animation-graphics:1.3.0-rc01
sind veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
Version 1.3.0-beta03
21. September 2022
androidx.compose.animation:animation:1.3.0-beta03
, androidx.compose.animation:animation-core:1.3.0-beta03
und androidx.compose.animation:animation-graphics:1.3.0-beta03
sind veröffentlicht. Version 1.3.0-beta03 enthält diese Commits.
- Keine Änderungen seit Version 1.3.0-beta02.
Version 1.3.0-beta02
7. September 2022
androidx.compose.animation:animation:1.3.0-beta02
, androidx.compose.animation:animation-core:1.3.0-beta02
und androidx.compose.animation:animation-graphics:1.3.0-beta02
sind veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
- „Kotlin.experimental“ wurde aus den Compileroptionen entfernt, da es nicht mehr unterstützt wird.
Version 1.3.0-beta01
24. August 2022
androidx.compose.animation:animation:1.3.0-beta01
, androidx.compose.animation:animation-core:1.3.0-beta01
und androidx.compose.animation:animation-graphics:1.3.0-beta01
sind veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
Version 1.3.0-alpha03
10. August 2022
androidx.compose.animation:animation:1.3.0-alpha03
, androidx.compose.animation:animation-core:1.3.0-alpha03
und androidx.compose.animation:animation-graphics:1.3.0-alpha03
sind veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
API-Änderungen
- Neuer Parameter in
Crossfade
,animateAsState
undAnimatable
für das Tooling-Label (Iac08a) - Die Funktion
atFraction
wurde hinzugefügt, um Keyframes an einer Bruchzahl anstelle einer bestimmten Dauer zu definieren. (I20c76, b/232059455)
Version 1.3.0-alpha02
27. Juli 2022
androidx.compose.animation:animation:1.3.0-alpha02
, androidx.compose.animation:animation-core:1.3.0-alpha02
und androidx.compose.animation:animation-graphics:1.3.0-alpha02
sind veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
Version 1.3.0-alpha01
29. Juni 2022
androidx.compose.animation:animation:1.3.0-alpha01
, androidx.compose.animation:animation-core:1.3.0-alpha01
und androidx.compose.animation:animation-graphics:1.3.0-alpha01
sind veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
API-Änderungen
- Neuer
LookaheadLayout
, der einen Lookahead-Pass vor der eigentlichen Messung/dem eigentlichen Layout unterstützt. So kann das Layout vorab berechnet werden, wenn es sich ändert. Gleichzeitig kann für die Maßnahme/das Layout nach dem Lookahead die vorab berechnete Größe/Position verwendet werden, um die Größe und Positionen in Richtung des Ziels zu animieren.SubcomposeLayouts
werden noch nicht unterstützt, aber in einem zukünftigen Release. (I477f5)
Version 1.2
Version 1.2.1
10. August 2022
androidx.compose.animation:animation:1.2.1
, androidx.compose.animation:animation-core:1.2.1
und androidx.compose.animation:animation-graphics:1.2.1
sind veröffentlicht. Version 1.2.1 enthält diese Commits.
Version 1.2.0
27. Juli 2022
androidx.compose.animation:animation:1.2.0
, androidx.compose.animation:animation-core:1.2.0
und androidx.compose.animation:animation-graphics:1.2.0
sind veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Compose-Animationen unterstützen jetzt die Einstellung „Animator duration scale“ (Skalierung der Animator-Dauer) aus den Entwickleroptionen.
- Eine große Auswahl an neuen experimentellen Kurven für das Ein- und Ausblenden.
AnimatedImageVector
unterstützt jetztrepeatCount
undrepeatMode
Version 1.2.0-rc03
29. Juni 2022
androidx.compose.animation:animation:1.2.0-rc03
, androidx.compose.animation:animation-core:1.2.0-rc03
und androidx.compose.animation:animation-graphics:1.2.0-rc03
sind veröffentlicht. Version 1.2.0-rc03 enthält diese Commits.
- Keine Änderungen seit Version 1.2.0-rc02.
Version 1.2.0-rc02
22. Juni 2022
androidx.compose.animation:animation:1.2.0-rc02
, androidx.compose.animation:animation-core:1.2.0-rc02
und androidx.compose.animation:animation-graphics:1.2.0-rc02
sind veröffentlicht. Version 1.2.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Die Annotation
ExperimentalEasingApi
wurde für Easing-Funktionen (Ied441) entfernt.
Version 1.2.0-rc01
15. Juni 2022
androidx.compose.animation:animation:1.2.0-rc01
, androidx.compose.animation:animation-core:1.2.0-rc01
und androidx.compose.animation:animation-graphics:1.2.0-rc01
sind veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
API-Änderungen
- Schnittstellen in Compose-Bibliotheken werden jetzt mit den Standard-Schnittstellenmethoden von JDK8 erstellt (I5bcf1).
Version 1.2.0-beta03
1. Juni 2022
androidx.compose.animation:animation:1.2.0-beta03
, androidx.compose.animation:animation-core:1.2.0-beta03
und androidx.compose.animation:animation-graphics:1.2.0-beta03
sind veröffentlicht. Version 1.2.0-beta03 enthält diese Commits.
API-Änderungen
- Experimentelle Easing-Kurven für Animationen hinzugefügt (I64a38)
Version 1.2.0-beta02
18. Mai 2022
androidx.compose.animation:animation:1.2.0-beta02
, androidx.compose.animation:animation-core:1.2.0-beta02
und androidx.compose.animation:animation-graphics:1.2.0-beta02
sind veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
Version 1.2.0-beta01
11. Mai 2022
androidx.compose.animation:animation:1.2.0-beta01
, androidx.compose.animation:animation-core:1.2.0-beta01
und androidx.compose.animation:animation-graphics:1.2.0-beta01
sind veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
- Dies ist die erste Betaversion von 1.2. Seit der letzten Alphaversion hat sich nichts geändert.
Version 1.2.0-alpha08
20. April 2022
androidx.compose.animation:animation:1.2.0-alpha08
, androidx.compose.animation:animation-core:1.2.0-alpha08
und androidx.compose.animation:animation-graphics:1.2.0-alpha08
sind veröffentlicht. Version 1.2.0-alpha08 enthält diese Commits.
Version 1.2.0-alpha07
6. April 2022
androidx.compose.animation:animation:1.2.0-alpha07
, androidx.compose.animation:animation-core:1.2.0-alpha07
und androidx.compose.animation:animation-graphics:1.2.0-alpha07
sind veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.
API-Änderungen
AnimatedImageVector
unterstützt jetztrepeatCount
undrepeatMode
(Ia3e75, b/199304067)
Version 1.2.0-alpha06
23. März 2022
androidx.compose.animation:animation:1.2.0-alpha06
, androidx.compose.animation:animation-core:1.2.0-alpha06
und androidx.compose.animation:animation-graphics:1.2.0-alpha06
sind veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
API-Änderungen
- Das Parsen von Vektordrawables wurde aktualisiert, um das automatische Spiegeln zu unterstützen. Dadurch wird der Inhalt eines
VectorPainter
gespiegelt, wenn die aktuelle Layoutrichtung RTL ist. (I79cd9, b/185760237)
Fehlerkorrekturen
- Die APIs für Vektorgrafiken wurden aktualisiert, sodass die richtige zusammensetzbare Annotation
@VectorComposable
anstelle von@UiComposable
verwendet wird (I942bc).
Version 1.2.0-alpha05
9. März 2022
androidx.compose.animation:animation:1.2.0-alpha05
, androidx.compose.animation:animation-core:1.2.0-alpha05
und androidx.compose.animation:animation-graphics:1.2.0-alpha05
sind veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
API-Änderungen
- Super! Compose-Animationen unterstützen jetzt die Einstellung „Animator duration scale“ (Skalierung der Animator-Dauer) aus den Entwickleroptionen. (I5a4fc, b/161675988)
Version 1.2.0-alpha04
23. Februar 2022
androidx.compose.animation:animation:1.2.0-alpha04
, androidx.compose.animation:animation-core:1.2.0-alpha04
und androidx.compose.animation:animation-graphics:1.2.0-alpha04
sind veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Version 1.2.0-alpha03
9. Februar 2022
androidx.compose.animation:animation:1.2.0-alpha03
, androidx.compose.animation:animation-core:1.2.0-alpha03
und androidx.compose.animation:animation-graphics:1.2.0-alpha03
sind veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Version 1.2.0-alpha02
26. Januar 2022
androidx.compose.animation:animation:1.2.0-alpha02
, androidx.compose.animation:animation-core:1.2.0-alpha02
und androidx.compose.animation:animation-graphics:1.2.0-alpha02
sind veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Version 1.2.0-alpha01
12. Januar 2022
androidx.compose.animation:animation:1.2.0-alpha01
, androidx.compose.animation:animation-core:1.2.0-alpha01
und androidx.compose.animation:animation-graphics:1.2.0-alpha01
sind veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
API-Änderungen
- Verwenden Sie
AnimatedImageVector.animatedVectorResource
anstelle vonanimatedVectorResource
, um eine<animated-vector>
-Ressourcendatei zu laden.- Verwenden Sie
rememberAnimatedVectorResource
anstelle vonAnimatedImageVector#painterFor
, um einAnimatedImageVector
zu rendern. (I9c300)
- Verwenden Sie
Fehlerkorrekturen
- toString-Methoden für Animatable und AnimationResult hinzufügen. (Icd3a6)
Abhängigkeitsupdates
- Jetzt von Kotlin
1.6.10
abhängig.
Version 1.1
Version 1.1.1
23. Februar 2022
androidx.compose.animation:animation:1.1.1
, androidx.compose.animation:animation-core:1.1.1
und androidx.compose.animation:animation-graphics:1.1.1
sind veröffentlicht. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
- Fehler bei
NullPointerException
unterandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
beheben (aosp/1947059, b/206677462) - Ein Absturz, der durch Zwischenablageinhalte beim Lesen aus der Zwischenablage unter Android verursacht wurde, wurde behoben. (I06020, b/197769306)
- RTL-Problem in
LazyVerticalGrid
behoben (aosp/1931080, b/207510535)
Version 1.1.0
9. Februar 2022
androidx.compose.animation:animation:1.1.0
, androidx.compose.animation:animation-core:1.1.0
und androidx.compose.animation:animation-graphics:1.1.0
sind veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- Stabile Unterstützung für den Overscroll-Effekt von Android 12
- Verbesserungen bei der Größe von Berührungszielen
- Im Vergleich zu Compose 1.0 wird der Layoutbereich von Material-Komponenten erweitert, um den Richtlinien für Bedienungshilfen in Material Design für die Größe von Berührungszielen zu entsprechen. Der Berührungszielbereich einer Schaltfläche wird beispielsweise auf eine Mindestgröße von 48 × 48 dp erweitert, auch wenn Sie die Größe der Schaltfläche kleiner festlegen. Dadurch wird Compose Material an das Verhalten von Material Design Components angepasst. So ist das Verhalten konsistent, wenn Sie Views und Compose mischen. Diese Änderung sorgt auch dafür, dass beim Erstellen der Benutzeroberfläche mit Compose Material-Komponenten die Mindestanforderungen für die Barrierefreiheit von Touch-Zielen erfüllt werden.
- Stabile Unterstützung für Navigation Rail
- Eine Reihe zuvor experimenteller APIs wird auf stabil umgestellt.
- Unterstützung für neuere Versionen von Kotlin
Version 1.1.0-rc03
26. Januar 2022
androidx.compose.animation:animation:1.1.0-rc03
, androidx.compose.animation:animation-core:1.1.0-rc03
und androidx.compose.animation:animation-graphics:1.1.0-rc03
sind veröffentlicht. Version 1.1.0-rc03 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert zur Unterstützung von Compose Material 1.1.0-rc03
Version 1.1.0-rc01
15. Dezember 2021
androidx.compose.animation:animation:1.1.0-rc01
und androidx.compose.animation:animation-core:1.1.0-rc01
werden veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
API-Änderungen
- Verwenden Sie
AnimatedImageVector.animatedVectorResource
anstelle vonanimatedVectorResource
, um eine<animated-vector>
-Ressourcendatei zu laden.- Verwenden Sie
rememberAnimatedVectorResource
anstelle vonAnimatedImageVector#painterFor
, um einAnimatedImageVector
zu rendern. (I9c300)
- Verwenden Sie
Version 1.1.0-beta04
1. Dezember 2021
androidx.compose.animation:animation:1.1.0-beta04
, androidx.compose.animation:animation-core:1.1.0-beta04
und androidx.compose.animation:animation-graphics:1.1.0-beta04
sind veröffentlicht. Version 1.1.0-beta04 enthält diese Commits.
Neue Funktionen
- Aktualisiert, um mit Kotlin
1.6.0
kompatibel zu sein
Version 1.1.0-beta03
17. November 2021
androidx.compose.animation:animation:1.1.0-beta03
, androidx.compose.animation:animation-core:1.1.0-beta03
und androidx.compose.animation:animation-graphics:1.1.0-beta03
sind veröffentlicht. Version 1.1.0-beta03 enthält diese Commits.
API-Änderungen
- Der neue Modifikator „Modifier.onPlaced“ wurde hinzugefügt, damit Änderungen bei der Platzierung beobachtet werden können. Zusätzliche Änderungen am Offset des untergeordneten Modifikators können daher auf Grundlage der beobachteten Placement-Änderung vorgenommen werden. (I558fd)
Neue Unterstützung für contentKey bei Crossfade. ContentKey wird vom Animationssystem für den Gleichheitstest verwendet. Daher kann ein benutzerdefiniertes Differenzieren von Status erreicht werden, indem für verschiedene Status ein geeigneter „contentKey“ angegeben wird.
ContentKey wird auch als Schlüssel zum Speichern und Wiederherstellen von Inhalten verwendet. (I2e055, b/197907070)
Version 1.1.0-beta02
3. November 2021
androidx.compose.animation:animation:1.1.0-beta02
, androidx.compose.animation:animation-core:1.1.0-beta02
und androidx.compose.animation:animation-graphics:1.1.0-beta02
sind veröffentlicht. Version 1.1.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Neue Animations-APIs zur Unterstützung von Tools. Insbesondere ermöglichen sie es, Animationen und ihre Konfigurationen in einem Übergang zu untersuchen. (I4116e)
Version 1.1.0-beta01
27. Oktober 2021
androidx.compose.animation:animation:1.1.0-beta01
, androidx.compose.animation:animation-core:1.1.0-beta01
und androidx.compose.animation:animation-graphics:1.1.0-beta01
sind veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
API-Änderungen
- Neue Animations-APIs zur Unterstützung von Tools. Insbesondere ermöglichen sie es, Animationen und ihre Konfigurationen in einem Übergang zu untersuchen. (I4116e)
Version 1.1.0-alpha06
13. Oktober 2021
androidx.compose.animation:animation:1.1.0-alpha06
, androidx.compose.animation:animation-core:1.1.0-alpha06
und androidx.compose.animation:animation-graphics:1.1.0-alpha06
sind veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
Version 1.1.0-alpha05
29. September 2021
androidx.compose.animation:animation:1.1.0-alpha05
, androidx.compose.animation:animation-core:1.1.0-alpha05
und androidx.compose.animation:animation-graphics:1.1.0-alpha05
sind veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
API-Änderungen
EnterTransition
,ExitTransition
und einige derAnimatedVisibility
APIs sind jetzt stabil.MutableTransitionState.isIdle
befindet sich nicht mehr in der Testphase. (I5072d)Breaking Change: Lambdas in Enter/ExitTransition-Faktories wurden an die letzte Position in der Parameterliste verschoben. (I5072d)
Version 1.1.0-alpha04
15. September 2021
androidx.compose.animation:animation:1.1.0-alpha04
, androidx.compose.animation:animation-core:1.1.0-alpha04
und androidx.compose.animation:animation-graphics:1.1.0-alpha04
sind veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
Version 1.1.0-alpha03
1. September 2021
androidx.compose.animation:animation:1.1.0-alpha03
, androidx.compose.animation:animation-core:1.1.0-alpha03
und androidx.compose.animation:animation-graphics:1.1.0-alpha03
sind veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Compose
1.1.0-alpha03
wurde aktualisiert und hängt jetzt von Kotlin1.5.30
ab. (I74545)
Version 1.1.0-alpha02
18. August 2021
androidx.compose.animation:animation:1.1.0-alpha02
, androidx.compose.animation:animation-core:1.1.0-alpha02
und androidx.compose.animation:animation-graphics:1.1.0-alpha02
sind veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
API-Änderungen
- „StartOffset“ wird jetzt in „repeatable“ und „infiniteRepeatable“ unterstützt, um den Startzeitpunkt zu verzögern oder die Animation vor dem Start vorzuspulen. Dieser Start-Offset wird nicht wiederholt (Ic679f, b/195079908).
- Neuer Ein-/Ausgangsübergang für die Skalierung. Sie kann in Kombination mit anderen Arten von Enter-/ExitTransitions verwendet werden. (I372da, b/191325593)
Version 1.1.0-alpha01
4. August 2021
androidx.compose.animation:animation:1.1.0-alpha01
, androidx.compose.animation:animation-core:1.1.0-alpha01
und androidx.compose.animation:animation-graphics:1.1.0-alpha01
sind veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
API-Änderungen
AnimatedImageVector
und die zugehörigen APIs befinden sich jetzt im neuen Modulandroidx.compose.animation:animation-graphics
. (I60873)
Fehlerkorrekturen
InfiniteAnimationPolicy
wurde nach :compose:ui verschoben (I5eb09, b/160602714)
Version 1.0
Version 1.0.5
3. November 2021
androidx.compose.animation:animation:1.0.5
und androidx.compose.animation:animation-core:1.0.5
werden veröffentlicht. Version 1.0.5 enthält diese Commits.
Fehlerkorrekturen
- Ein Absturz beim Tracking von „derivedStateOf“-Instanzen wurde behoben. (aosp/1792247)
Version 1.0.4
13. Oktober 2021
androidx.compose.animation:animation:1.0.4
und androidx.compose.animation:animation-core:1.0.4
werden veröffentlicht. Version 1.0.4 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert, um von Kotlin
1.5.31
abhängig zu sein
Version 1.0.3
29. September 2021
androidx.compose.animation:animation:1.0.3
und androidx.compose.animation:animation-core:1.0.3
werden veröffentlicht. Version 1.0.3 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert, um von Kotlin
1.5.30
abhängig zu sein
Version 1.0.2
1. September 2021
androidx.compose.animation:animation:1.0.2
und androidx.compose.animation:animation-core:1.0.2
werden veröffentlicht. Version 1.0.2 enthält diese Commits.
Aktualisiert zur Unterstützung der Compose-Version 1.0.2
. Compose 1.0.2
ist weiterhin mit Kotlin 1.5.21
kompatibel.
Version 1.0.1
4. August 2021
androidx.compose.animation:animation:1.0.1
und androidx.compose.animation:animation-core:1.0.1
werden veröffentlicht. Version 1.0.1 enthält diese Commits.
Abhängigkeitsupdates
- Die Abhängigkeit wurde auf Kotlin
1.5.21
aktualisiert.
Version 1.0.0
28. Juli 2021
androidx.compose.animation:animation:1.0.0
und androidx.compose.animation:animation-core:1.0.0
werden veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von Version 1.0.0
Dies ist die erste stabile Version von Compose. Weitere Informationen finden Sie im offiziellen Compose-Release-Blog.
Bekannte Probleme
Wenn Sie Android Studio Bumblebee Canary 4 oder AGP
7.1.0-alpha04
/7.1.0-alpha05
verwenden, kann es zu folgendem Absturz kommen:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Um das Problem zu beheben, erhöhen Sie vorübergehend die minSdkVersion in Ihrer
build.gradle
-Datei auf 24 oder höher. Dieses Problem wird in der nächsten Version von Android Studio Bumblebee und AGP7.1
behoben. (b/194289155)
Version 1.0.0-rc02
14. Juli 2021
androidx.compose.animation:animation:1.0.0-rc02
und androidx.compose.animation:animation-core:1.0.0-rc02
werden veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Version 1.0.0-rc01
1. Juli 2021
androidx.compose.animation:animation:1.0.0-rc01
und androidx.compose.animation:animation-core:1.0.0-rc01
werden veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
Fehlerkorrekturen
InfiniteAnimationPolicy
wurde nachandroidx.compose.ui:ui
verschoben (I5eb09, b/160602714)
Version 1.0.0-beta09
16. Juni 2021
androidx.compose.animation:animation:1.0.0-beta09
und androidx.compose.animation:animation-core:1.0.0-beta09
werden veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.
API-Änderungen
- Neue
AnimatedContent
-Composable. Die Inhalte werden mithilfe von anpassbarenContentTransform
verwaltet, wenn neue Zielinhalte hinzukommen und ursprüngliche Inhalte entfernt werden. Durch die Kombination verschiedener Ein- und Ausblendungseffekte lässt sich ein individuelles Erscheinungsbild erzielen. Im Rahmen der Inhaltsumwandlung wird die Größe vonAnimatedContent
automatisch animiert, um sie an den eingehenden Inhalt anzupassen. (I2c3df) ManualFrameClock
wurde entfernt. Wenn Sie Animationen steuern möchten, verwenden Sie stattdessencomposeTestRule.mainClock
. (I3c3e8, b/189951065)
Hinzugefügte Profilregeln
In dieser Version werden den folgenden Compose-Modulen Profilregeln hinzugefügt (I14ed6):
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
Was sind Profilregeln?
Profilregeln für eine Bibliothek werden in einer Textdatei
baseline-prof.txt
angegeben, die sich im Verzeichnissrc/main
oder einem entsprechenden Verzeichnis befindet. In der Datei wird eine Regel pro Zeile angegeben. Eine Regel ist in diesem Fall ein Muster, das mit Methoden oder Klassen in der Bibliothek abgeglichen wird. Die Syntax für diese Regeln ist eine Obermenge des menschenlesbaren ART-Profilformats, das bei der Verwendung vonadb shell profman --dump-classes-and-methods ...
verwendet wird. Diese Regeln können entweder auf Methoden oder auf Klassen ausgerichtet sein.Eine Methodenregel hat das folgende Muster:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Eine Klassenregel hat das folgende Muster:
<CLASS_DESCRIPTOR>
Dabei ist
<FLAGS>
eines oder mehrere der ZeichenH
,S
undP
, um anzugeben, ob diese Methode als „Hot“, „Startup“ oder „Post Startup“ gekennzeichnet werden soll.<CLASS_DESCRIPTOR>
ist der Deskriptor für die Klasse, zu der die Zielmethode gehört. Die Klasseandroidx.compose.runtime.SlotTable
hätte beispielsweise den DeskriptorLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
ist die Signatur der Methode und enthält den Namen, die Parametertypen und die Rückgabetypen der Methode. Die Methodefun isPlaced(): Boolean
fürLayoutNode
hat beispielsweise die SignaturisPlaced()Z
.Diese Muster können Platzhalter (
**
,*
und?
) enthalten, damit eine einzelne Regel mehrere Methoden oder Klassen abdeckt.
Was bewirken die Regeln?
Eine Methode mit dem Flag
H
ist eine „heiße“ Methode und sollte vorab kompiliert werden.Eine Methode mit dem Flag
S
wird beim Start aufgerufen und sollte vorab kompiliert werden, um die Kosten für die Kompilierung und Interpretation der Methode beim Start zu vermeiden.Eine Methode mit dem Flag
P
wird nach dem Start aufgerufen.Eine Klasse, die in dieser Datei vorhanden ist, wird beim Start verwendet und sollte im Heap vorab zugewiesen werden, um die Kosten für das Laden der Klasse zu vermeiden.
So funktioniert's
- Bibliotheken können diese Regeln definieren, die in AAR-Artefakten enthalten sind. Wenn dann eine App erstellt wird, die diese Artefakte enthält, werden diese Regeln zusammengeführt und die zusammengeführten Regeln werden verwendet, um ein kompaktes binäres ART-Profil zu erstellen, das spezifisch für die App ist. ART kann dieses Profil dann verwenden, wenn die App auf Geräten installiert wird, um ein bestimmtes Subset der Anwendung vorab zu kompilieren und so die Leistung der Anwendung zu verbessern, insbesondere beim ersten Ausführen. Hinweis: Dies hat keine Auswirkungen auf debugfähige Anwendungen.
Version 1.0.0-beta08
2. Juni 2021
androidx.compose.animation:animation:1.0.0-beta08
und androidx.compose.animation:animation-core:1.0.0-beta08
werden veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.
Fehlerkorrekturen
- Die Positionsänderung wird jetzt automatisch von
detectDragGesures
,detectVerticalGestures
unddetectHorizontalGestures
übernommen. Es ist nicht mehr erforderlich, „change.consumePositionChange“ in den „onDrag“-Callbacks aufzurufen (I42fc4, b/185096350, b/187320697). Modifier.onGloballyPositioned()
wurde geändert, um die Koordinaten dieses Modifikators in der Modifikator-Kette zu melden, nicht die Layoutkoordinaten nach Anwendung aller Modifikatoren. Das bedeutet, dass die Reihenfolge der Modifizierer jetzt beeinflusst, welche Koordinaten gemeldet werden. (Ieb67d, b/177926591)
Version 1.0.0-beta07
18. Mai 2021
androidx.compose.animation:animation:1.0.0-beta07
und androidx.compose.animation:animation-core:1.0.0-beta07
werden veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.
API-Änderungen
- Neue
AnimatedVisibility
-APIs, die die Angabe der Sichtbarkeit in einerMutableTransitionState
unterstützen. Dadurch können die Animationsstatus auch außerhalb vonAnimatedVisibility
übercurrentState
undisIdle
beobachtet werden.- Unterstützung für neue untergeordnete Übergänge in Transition
- Unterstützung benutzerdefinierter Übergangsanimationen beim Ein- und Ausblenden in AnimatedVisibility mit AnimationScope.transition
- Neuer animateEnterExit-Modifier für alle untergeordneten Elemente von AnimatedVisibility verfügbar
- Die AnimatedVisibility-APIs, die einen
initiallyVisible
-Parameter verwenden, wurden eingestellt (I702f3).
Version 1.0.0-beta06
5. Mai 2021
androidx.compose.animation:animation:1.0.0-beta06
und androidx.compose.animation:animation-core:1.0.0-beta06
werden veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.
Version 1.0.0-beta05
21. April 2021
androidx.compose.animation:animation:1.0.0-beta05
und androidx.compose.animation:animation-core:1.0.0-beta05
werden veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Die AndroidManifest-Dateien aus „ui-test-manifest“ und „ui-tooling-data“ sind jetzt mit Android 12 kompatibel (I6f9de, b/184718994).
Version 1.0.0-beta04
7. April 2021
androidx.compose.animation:animation:1.0.0-beta04
und androidx.compose.animation:animation-core:1.0.0-beta04
werden veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.
API-Änderungen
- Öffentliche Instanzen von
RowScope
,ColumnScope
,BoxScope
undBoxWithConstraintsScope
wurden entfernt. (I4e83e, b/181869067)
Version 1.0.0-beta03
24. März 2021
androidx.compose.animation:animation:1.0.0-beta03
und androidx.compose.animation:animation-core:1.0.0-beta03
werden veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
Version 1.0.0-beta02
10. März 2021
androidx.compose.animation:animation:1.0.0-beta02
und androidx.compose.animation:animation-core:1.0.0-beta02
werden veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Einschränkungen für die öffentliche Nutzung experimenteller APIs erzwingen (I6aa29, b/174531520)
Version 1.0.0-beta01
24. Februar 2021
androidx.compose.animation:animation:1.0.0-beta01
und androidx.compose.animation:animation-core:1.0.0-beta01
werden veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Dies ist die erste Version von Compose 1.0.0 Beta.
API-Änderungen
InteractionState
wurde durch[Mutable]InteractionSource
ersetzt.- Schnittstellen sind für das Ausgeben / Erfassen von Interaktionsereignissen verantwortlich.
- Anstatt
interactionState = remember { InteractionState() }
an Komponenten wieButton
undModifier.clickable()
zu übergeben, verwenden SieinteractionSource = remember { MutableInteractionSource() }
. - Statt
Interaction.Pressed in interactionState
sollten Sie stattdessen die Erweiterungsfunktionen für InteractionSource verwenden, z. B. InteractionSource.collectIsPressedAsState(). - Bei komplexen Anwendungsfällen können Sie InteractionSource.interactions verwenden, um den Stream von Interaktionen zu beobachten. Weitere Informationen finden Sie in der Dokumentation und den Beispielen zu „InteractionSource“.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- Die Pakete der Methoden „smoothScrollBy“ und „scrollBy“ wurden in
androidx.compose.foundation.gestures.*
geändert (I3f7c1, b/175294473). - Größenmodifizierer wurden umbenannt. „Modifier.width“/„height“/„size“ wurden in „requiredWidth“/„requiredHeight“/„requiredSize“ umbenannt. Modifier.preferredWidth/preferredHeight/preferredSize wurden in width/height/size umbenannt. (I5b414)
- Die Ausrichtung wurde in das Fundamentpaket verschoben. VelocityTracker wurde von ui.gesture zu ui.input.pointer verschoben. (Iff4a8, b/175294473)
- AnimationClockObservable und abgeleitete Klassen wurden entfernt. AnimatedFloat wurde entfernt. (Icde52, b/177457083)
- „Modifier.draggable“ akzeptiert jetzt „DraggableState“ anstelle einer einfachen Lambda-Funktion. Sie können den Status über
rememberDraggableState { delta -> }
erstellen, um das gleiche Verhalten wie zuvor zu erhalten (Ica70f, b/175294473). - Die APIs „animate“, „animatedValue“ und „AnimatedValue“ wurden entfernt (If27bc, b/177457083).
- „AnimationEndReason.Interrupted“ wurde entfernt. CancellationException wird ausgelöst, wenn die Animation unterbrochen wird. (I2cbbc, b/179695417)
- Die TargetAnimation API wurde entfernt. (If47d1, b/177457083)
Version 1.0.0-alpha12
10. Februar 2021
androidx.compose.animation:animation:1.0.0-alpha12
und androidx.compose.animation:animation-core:1.0.0-alpha12
werden veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
API-Änderungen
Modifier.pointerInput
erfordert jetzt Remember-Schlüssel, um anzugeben, wann die Pointer-Eingabeerkennungs-Coroutine für neue Abhängigkeiten neu gestartet werden soll. (I849cd)- „Bounds“ wurde in „DpRect“ (I4b32a) umbenannt.
- Der Parametername für AnimationSpec wurde im gesamten Animationssystem in „animationSpec“ geändert. Beschränken Sie auch Enter/ExitTransition so, dass nur FiniteAnimationSpec akzeptiert wird. (Ie47c5, b/177457083)
- Animatable.snapTo und Animatable.stop sind jetzt suspend-Funktionen (If4288)
- Ähnlich wie wir zuvor die zusammensetzbare Funktion
state { 0 }
entfernt und die Verwendung vonremember { mutableStateOf(0) }
gefördert haben, werden wir die zusammensetzbare FunktionsavedInstanceState { 0 }
entfernen. Verwenden Sie stattdessenrememberSaveable { mutableStateOf(0) }
. Der Wert wird automatisch gespeichert und wiederhergestellt, wenn der Typ, der in MutableState verwendet wird, im Bundle gespeichert werden kann. Wenn Sie zuvor ein benutzerdefiniertes Saver-Objekt übergeben haben, müssen Sie jetzt eine neue Überladung von „rememberSaveable“ mit dem ParameterstateSaver
verwenden. Die Verwendung sieht so aus:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - Die Methodensignatur von „Crossfade“ wurde aktualisiert, um sie besser an das restliche Animationssystem anzupassen. (Ib05ed, b/177457083)
- rememberSavedInstanceState() wurde in rememberSaveable() umbenannt und in das Paket androidx.compose.runtime.saveable verschoben. (I1366e, b/177338004)
- „RestorableStateHolder“ wurde in „SaveableStateHolder“ umbenannt und in das Paket „androidx.compose.runtime.saveable“ verschoben. Die innere Methode „RestorableStateProvider“ wurde in „SaveableStateProvider“ umbenannt. Der generische Typ wurde entfernt, sodass Sie einfach „Any“ als Schlüssel übergeben können. Die experimentelle Anmerkung ist nicht mehr erforderlich. (I0902e, b/174598702)
- Die Modifier.animateContentSize API wurde aktualisiert, um mit dem Rest des Animationssystems konsistent zu sein. (I0bf75, b/177457083)
- AnimatedValue/Float wurde eingestellt. Verwenden Sie stattdessen „Animatable“. (I71345, b/177457083)
- „tapGestureFilter“, „doubleTapGestureFilter“, „longPressGestureFilter“ und „pressIndicaitonGestureFilter“ wurden eingestellt. Verwenden Sie stattdessen Modifier.clickable oder Modifier.pointerInput mit der Funktion detectTapGestures. (I6baf9, b/175294473)
- Es wurde ein
InfiniteAnimationPolicy
-Coroutine-Kontextelement eingeführt, das in Endlosanimationen angewendet wird. Standardmäßig ist keine Richtlinie installiert, außer wenn Tests mitComposeTestRule
ausgeführt werden. (I50ec4, b/151940543) - Die Methoden „Destructuring“ und „copy()“ wurden aus mehreren Klassen entfernt, in denen sie nur selten verwendet wurden. (I26702, b/178659281)
- Die Spielzeit in Animationen wird jetzt in Nanosekunden angegeben (If776a)
- Das Artefakt „compose:runtime-dispatch“ ist jetzt veraltet. MonotonicFrameClock befindet sich jetzt in compose:runtime und AndroidUiDispatcher in compose:ui. (Ib5c36)
Animation.isInfinite
undVectorizedAnimationSpec.isInfinite
wurden hinzugefügt, um anzugeben, ob eine Animation unendlich ist oder nicht. Dies kann in Implementierungen von Animationen verwendet werden, um eine spezielle Verarbeitung solcher Animationen zu ermöglichen. So kann beispielsweise eine spezielle Meldung zur verbleibenden Zeit angezeigt werden oder die Animation kann während Tests abgebrochen werden, um unbegrenztes Warten auf den Leerlauf zu verhindern. (Iebb05, b/151940543)- „Long“ anstelle von „Uptime“ als Animationstyp verwenden (Ie3aa7, b/177420019)
Version 1.0.0-alpha11
28. Januar 2021
androidx.compose.animation:animation:1.0.0-alpha11
und androidx.compose.animation:animation-core:1.0.0-alpha11
werden veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Auf TransitionDefinition basierende Übergänge sind veraltet (I0ac57)
- Ein Label-Feld wird für Übergangs- und untergeordnete Animationen hinzugefügt, die in Tools angezeigt werden sollen (I619fb).
- animateAsState heißt jetzt animateFooAsState, wobei Foo der Typ der animierten Variablen ist, z. B.Float, Dp oder Offset. (Ie7e25)
- Neue InfiniteTransition, die beliebig viele untergeordnete Animationen ausführt. (I1da81)
- Änderungen an zustandsorientierten Materialparameter-Schnittstellen, sodass sie @Composable-Funktionen haben, die
State<T>
zurückgeben. Es wurde Animatable.asState() hinzugefügt, um die Konvertierung von Animatable in State zu vereinfachen. Außerdem wird „animateElevation“ in eine Suspend-Erweiterung für „Animatable“ geändert. (If613c)
Fehlerkorrekturen
- Die APIs „onCommit“, „onDispose“ und „onActive“ wurden zugunsten der APIs „SideEffect“ und „DisposableEffect“ eingestellt (If760e).
- Der Ausgangsstatus in „updateTransition“ wird jetzt unterstützt (Ifd51d).
- Dem Bild und dem Symbol wurde der Parameter „Inhaltsbeschreibung“ hinzugefügt. Sie wird verwendet, um Bedienungshilfen (I2ac4c) eine Beschreibung zu geben.
- invalidate und compositionReference() sind jetzt zugunsten von currentRecomposeScope bzw. rememberCompositionReference veraltet. (I583a8)
- „Duration“ und „Uptime“ werden durch „Long milliseconds“ ersetzt. Durch diesen Schritt wird die Abhängigkeit der Zeigereingabe von diesen Klassen entfernt. (Ia33b2, b/175142755, b/177420019)
- Klickbare, ein- und ausschaltbare sowie auswählbare Elemente können jetzt außerhalb der Komposition erstellt werden (I0a130, b/172938345, b/175294473).
- Die Funktion „Easing“ wurde in eine funktionale Schnittstelle (Ib14e5) geändert.
- Neue
items(count: Int)
-Factory-Methode für den Bereich von LazyColumn/LazyRow/LazyVerticalGrid.items(items: List)
unditemsIndexed(items: List)
sind jetzt Erweiterungsfunktionen und müssen daher manuell importiert werden, wenn sie verwendet werden. Neue Erweiterungsüberladungen für Arrays: „items(items: Array)“ und „itemsIndexed(Array)“ (I803fc, b/175562574) - TestCoroutineDispatcher in Tests verwenden (I532b6)
- PointerInputData wurde entfernt und PointerInputChange wurde so geändert, dass es alle Felder von PointerInputData enthält. PointerInputEvent und PointerInputEventData wurden intern gemacht, da sie in keiner öffentlichen API verwendet werden. (Ifff97, b/175142755)
Version 1.0.0-alpha10
13. Januar 2021
androidx.compose.animation:animation:1.0.0-alpha10
und androidx.compose.animation:animation-core:1.0.0-alpha10
werden veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
- Velocity wurde so geändert, dass es aus Komponenten besteht und mathematische Operationen unterstützt. (Ib0447)
@ExperimentalTesting
wurde in@ExperimentalTestApi
umbenannt, um mit ähnlichen experimentellen API-Anmerkungen (Ia4502, b/171464963) konsistent zu sein.- Position in „DpOffset“ umbenannt und „getDistance()“ entfernt (Ib2dfd)
- Öffentliche API „Any.identityHashCode()“ entfernt (I025d7)
Fehlerkorrekturen
- Neue auf Coroutinen basierende API
Animatable
, die für gegenseitigen Ausschluss zwischen den Animationen sorgt. Neue DecayAnimationSpec zur Unterstützung mehrdimensionaler Decay-Animationen (I820f2, b/168014930) animate()
wurde durchanimateAsState()
ersetzt, das anstelle vonT
einState<T>
zurückgibt. Dies ermöglicht eine bessere Leistung, da der Ungültigkeitsbereich auf den Ort eingegrenzt werden kann, an dem der Statuswert gelesen wird. (Ib179e)
Version 1.0.0-alpha09
16. Dezember 2020
androidx.compose.animation:animation:1.0.0-alpha09
und androidx.compose.animation:animation-core:1.0.0-alpha09
werden veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
- Dp.VectorConverter, Position.VectorConverter usw. wurden in „animation-core“ verschoben und die alten VectorConverter (If0c4b) sind veraltet.
- Es wurde eine völlig neue Reihe von Transition APIs eingeführt, die benutzerfreundlicher sind und Unterstützung für dynamisch hinzugefügte Animationen und dynamisch berechnete Animationsziele bieten. Diese APIs sind als experimentell gekennzeichnet, um sie leicht von der TransitionDefinition-basierten API zu unterscheiden. (Ia7fe3)
Fehlerkorrekturen
- Lambdas in Offset-Modifizierern geben jetzt „IntOffset“ anstelle von „Float“ zurück. (Ic9ee5, b/174137212, b/174146755)
- LazyColumnFor, LazyRowFor, LazyColumnForIndexed und LazyRowForIndexed werden eingestellt. LazyColumn und LazyRow verwenden (I5b48c)
- Für das Anhalten von APIs für die Zeigereingabe wurde HandlePointerInputScope in AwaitPointerEventScope und handlePointerInput() in awaitPointerEventScope() umbenannt. (Idf0a1, b/175142755)
- Neue Funktion „infiniteRepeatable“ zum Erstellen eines InfiniteRepeatableSpec (I668e5)
- Die Annotation „ExperimentalPointerInput“ (Ia7a24) wurde entfernt.
Version 1.0.0-alpha08
2. Dezember 2020
androidx.compose.animation:animation:1.0.0-alpha08
und androidx.compose.animation:animation-core:1.0.0-alpha08
werden veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
API-Änderungen
- Es wurde eine Lint-Prüfung für die Benennung und Position von zusammensetzbaren Lambda-Parametern hinzugefügt, um die Einhaltung der Compose-Richtlinien zu prüfen.
Außerdem wurden einige APIs, die
children
als Namen für ihr nachgestelltes Lambda verwenden, gemäß Lint-Prüfung und Anleitung zucontent
migriert. (Iec48e) - Zuvor verworfene APIs wurden entfernt:
Modifier.onPositioned
wurde entfernt. Verwenden Sie stattdessenModifier.onGloballyPositioned
.Modifier.onDraw
wurde entfernt. Verwenden Sie stattdessenModifier.onDrawBehind
.Modifier.plus
wurde entfernt. Verwenden Sie stattdessenModifier.then
.Color.Unset
wurde entfernt. Verwenden Sie stattdessenColor.Unspecified
.- Die Klasse
PxBounds
wurde entfernt. Verwenden Sie stattdessenRect
. - (Ie9d02, b/172562222)
- Vorübergehend hinzugefügte Option, mit der die TestAnimationClock von der MonotonicFrameClock gesteuert werden kann (I1403b, b/173402197)
Fehlerkorrekturen
- „Modifier.drawLayer“ wurde in „Modifier.graphicsLayer“ umbenannt. Außerdem wurden zugehörige Klassen gemäß dem Feedback des API-Teams in „GraphicsLayer“ aktualisiert. (I0bd29, b/173834241)
- Die APIs „Modifier.scale“/„rotate“ wurden als Convenience-Funktionen für „drawLayer“ hinzugefügt.
- „Modifier.drawOpacity“ wurde in „Modifier.alpha“ umbenannt.
- Modifier.drawShadow wurde in Modifier.shadow umbenannt (I264ca, b/173208140)
- Die Felder „uptime“ und „position“ von „PointerInputData“ sind jetzt nicht mehr nullable. (Id468a)
- Die offsetPx-Modifikatoren wurden in „offset“ umbenannt. Sie akzeptieren jetzt Lambda-Parameter anstelle von „State“. (Ic3021, b/173594846)
- Neue APIs zum Ausführen von Animationen in Coroutinen (Ied662)
- Wir haben die verworfenen Ambients mit dem Suffix
Ambient
ersetzt und neue Eigenschaften mit dem Präfix „Ambient“ eingeführt, die anderen Ambients und den Compose-API-Richtlinien entsprechen. (I33440) - Die Zeitsteuerung in Tests (TestAnimationClock und ihre Verwendung) ist jetzt experimentell (I6ef86, b/171378521).
- Altes ui-test-Modul und seine Stubs entfernen (I3a7cb)
- Die Funktion
RestorableStateHolder.withRestorableState
wurde inRestorableStateProvider
umbenannt (I66640) - Die Benutzeroberfläche für die Ausrichtung wurde aktualisiert und funktionsfähig gemacht. (I46a07, b/172311734)
Version 1.0.0-alpha07
11. November 2020
androidx.compose.animation:animation:1.0.0-alpha07
und androidx.compose.animation:animation-core:1.0.0-alpha07
werden veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
Fehlerkorrekturen
- Die Grundlagen AmbientTextStyle, ProvideTextStyle und AmbientContentColor wurden eingestellt. Verwenden Sie stattdessen die neuen Versionen, die in der Materialbibliothek verfügbar sind. Für Nicht-Material-Anwendungen sollten Sie stattdessen eigene Designsystem-spezifische Ambient-Themen erstellen, die in Ihren eigenen Komponenten verwendet werden können. (I74acc, b/172067770)
- foundation.Text wurde eingestellt und durch material.Text ersetzt. Eine einfache, neutrale Text-API, die keine Werte aus einem Theme verwendet, finden Sie unter androidx.compose.foundation.BasicText. (If64cb)
- „MeasureResult“ wurde aus „MeasureScope“ verschoben. (Ibf96d, b/171184002)
- Mehrere layoutbezogene Symbole wurden von androidx.compose.ui nach androidx.compose.layout.ui verschoben. (I0fa98, b/170475424)
Version 1.0.0-alpha06
28. Oktober 2020
androidx.compose.animation:animation:1.0.0-alpha06
und androidx.compose.animation:animation-core:1.0.0-alpha06
werden veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
API-Änderungen
- Übergänge in ComposeTestRule aktivieren; Option zum Aktivieren des blinkenden Cursors aus ComposeTestRule entfernen. (If0de3)
Version 1.0.0-alpha05
14. Oktober 2020
androidx.compose.animation:animation:1.0.0-alpha05
und androidx.compose.animation:animation-core:1.0.0-alpha05
werden veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
API-Änderungen
- Neue Animationsschnittstelle und Unterklassen: In diesen Klassen werden die Start- und Endbedingungen für Animationen gespeichert. Daher können Wert und Geschwindigkeit nur über die Wiedergabezeit abgefragt werden (Ie95bd, b/163329867).
Fehlerkorrekturen
- OnPositionedModifier wurde in OnGloballyPositionedModifier umbenannt und onPositioned() in onGloballyPositioned(). (I587e8, b/169083903)
Die APIs „contentColor()“ und „currentTextStyle()“ werden eingestellt und durch die Ambient-Variablen „AmbientContentColor“ und „AmbientTextStyle“ ersetzt. Sie können auf den aktuellen Wert zugreifen, indem Sie
.current
für die Ambient-Eigenschaft verwenden, wie bei jedem anderen Ambient. Diese Änderung wurde vorgenommen, um die Einheitlichkeit zu verbessern und mehrere Möglichkeiten zur Erledigung derselben Aufgabe zu vermeiden. Außerdem wurden einige Ambient-Properties umbenannt, um ihren Zweck besser zu beschreiben:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
Version 1.0.0-alpha04
1. Oktober 2020
androidx.compose.animation:animation:1.0.0-alpha04
und androidx.compose.animation:animation-core:1.0.0-alpha04
werden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
API-Änderungen
- Annotate rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled and textInputServiceFactory with @VisibleForTesting, make them internal API and hide their kdoc (I554eb, b/168308412)
Fehlerkorrekturen
- Viele Grafik-APIs wurden aktualisiert.
- Die APIs für die Skalierungs- und Rotations-Transformation wurden aktualisiert, sodass sie einen einzelnen Offset-Parameter für die Darstellung der Pivot-Koordinate anstelle separater Gleitkommaparameter für die x-/y-Koordinaten in DrawScope und DrawTransform verwenden.
- Die Methoden „Rect.expandToInclude“ und „Rect.join“ wurden entfernt.
- Die Dokumentation zum Radius wurde aktualisiert und enthält jetzt neben „elliptisch“ auch „oval“.
- Dokumentation hinzugefügt, um darauf hinzuweisen, dass der öffentliche Konstruktor für die Inline-Klasse „Radius“ nicht direkt aufgerufen werden darf, sondern Radius-Objekte über ihre Funktionskonstruktoren instanziiert werden müssen.
- Die RoundRect-APIs zum Abfragen von topRight, bottomRight, bottomCenter usw. wurden entfernt.
- Rect.shift zugunsten von Rect.translate eingestellt
- Entfernte APIs „RoundRect.grow“ und „Rect.shrink“
- RoundRect.outerRect wurde in Rect.boundingRect umbenannt
- Die Methoden „RoundRect.middleRect/tallMiddleRect/wideMiddleRect“ und „Rect.isStadium“ wurden entfernt.
- RoundRect.longestSide wurde in RoundRect.maxDimension umbenannt.
- RoundRect.shortestSide wurde in RoundRect.minDimension umbenannt
- RoundRect.center ist jetzt eine Eigenschaft anstelle einer Funktion.
- Der RoundRect-Konstruktor wurde aktualisiert, sodass er Radius-Eigenschaften anstelle von einzelnen Parametern für x-/y-Radiuswerte verwendet.
- Entfernte Größen-APIs, bei denen davon ausgegangen wurde, dass es sich um ein Rechteck mit dem Ursprung bei 0,0 handelt
- Destrukturierungs-API zu Radius hinzugefügt
- Verschiedene RoundRect-Erweiterungsfunktionen wurden zu Eigenschaften migriert.
- (I8f5c7, b/168762961)
- foundation.Box wurde eingestellt. Verwenden Sie stattdessen foundation.layout.Box. (Ie5950, b/167680279)
- Der Stapel wurde in „Box“ umbenannt. Die zuvor vorhandene Box wird zugunsten der neuen Box in compose.foundation.layout eingestellt. In der neuen Box werden untergeordnete Elemente übereinander gestapelt, wenn sie mehrere untergeordnete Elemente enthält. Das ist anders als bei der vorherigen Box, die sich ähnlich wie eine Spalte verhalten hat. (I94893, b/167680279)
- Die Parameter für die Box-Dekoration wurden eingestellt. Wenn Sie Dekorationen/Abstände für Ihre Box festlegen möchten, verwenden Sie stattdessen Modifiers (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279).
- Wir haben statische Importe von Inhalten von Layout-Scopes (z.B. „alignWithSiblings“ in „RowScope“) verhindert. Verwenden Sie stattdessen die explizite Bereichsalternative:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be, b/166760797)
Version 1.0.0-alpha03
16. September 2020
androidx.compose.animation:animation:1.0.0-alpha03
und androidx.compose.animation:animation-core:1.0.0-alpha03
werden veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- Die Verwendung von „gravity“ wurde in Layout-APIs konsistent in „align“ oder „alignment“ umbenannt. (I2421a, b/164077038)
Version 1.0.0-alpha02
2. September 2020
androidx.compose.animation:animation:1.0.0-alpha02
und androidx.compose.animation:animation-core:1.0.0-alpha02
werden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
ManualFrameClock.hasAwaiters
wurde hinzugefügt, um zu prüfen, ob ein Frame von dieser Taktquelle erwartet wird.runWithManualClock
als Ersatz fürrunBlocking
beim Ausführen von Tests, die eine ManualFrameClock erfordern.TestUiDispatcher.Main
bietet einfachen Zugriff auf den Haupt-UI-Dispatcher in Ihren Tests.Beispiel:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
Fehlerkorrekturen
onPreCommit ist eingestellt. onCommit hat jetzt das Verhalten von onPreCommit.
„onCommit“ und „onActive“ werden jetzt im selben Choreographer-Frame ausgeführt, in dem die Änderungen an der Komposition übernommen werden, und nicht am Anfang des nächsten Choreographer-Frames. (I70403)
Version 1.0.0-alpha01
26. August 2020
androidx.compose.animation:animation:1.0.0-alpha01
und androidx.compose.animation:animation-core:1.0.0-alpha01
werden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Version 0.1.0-dev
Version 0.1.0-dev17
19. August 2020
androidx.compose.animation:animation:0.1.0-dev17
und androidx.compose.animation:animation-core:0.1.0-dev17
werden veröffentlicht. Version 0.1.0-dev17 enthält diese Commits.
Neue Funktionen
API-Änderungen
- Der Offset ist jetzt eine Inline-Klasse (Iaec70).
- IntOffset ist jetzt eine Inline-Klasse (Iac0bf)
- IntSize ist jetzt eine Inline-Klasse (I2bf42)
Die zusammensetzbare Funktion „AnimatedVisibilty“ animiert das Ein- und Ausblenden der untergeordneten Inhalte.
EnterTransition und ExitTransition wurden eingeführt, um mit der zusammensetzbaren AnimatedVisibility zu arbeiten und drei verschiedene Arten von Ein- und Ausblendanimationen zu ermöglichen: Ein- und Ausblenden, Ein- und Ausblenden durch Schieben sowie Ein- und Ausblenden durch Vergrößern und Verkleinern des Inhalts. Die verschiedenen Arten von Animationen lassen sich kombinieren, um ein individuelleres Erscheinungsbild zu erzielen. (Idda11)
PxBounds wurde zugunsten von Rect eingestellt. Alle Verwendungen von PxBounds wurden durch „rect“ ersetzt und es wurden entsprechende Annotations für die Einstellung und den Ersatz hinzugefügt, um die Migration zu erleichtern. (I37038, b/162627058)
Fehlerkorrekturen
PlacementScope.placeAbsolute()
wurde inPlacementScope.place()
umbenannt und das vorherigePlacementScope.place()
wurde inPlacementScope.placeRelative()
umbenannt. Daher wird die Position in Kontexten mit Leserichtung von rechts nach links nicht mehr automatisch gespiegelt.PlacementScope.place()
Wenn dies gewünscht ist, verwenden Sie stattdessenPlacementScope.placeRelative()
. (I873ac, b/162916675)- Die zusammensetzbare Funktion
state { ... }
ist jetzt zugunsten expliziter Aufrufe vonremember { mutableStateOf(...) }
eingestellt. Dadurch wird die gesamte API-Oberfläche und die Anzahl der Konzepte für die Statusverwaltung reduziert und dasby mutableStateOf()
-Muster für die Delegierung von Klasseneigenschaften wird eingehalten. (Ia5727)
Version 0.1.0-dev16
5. August 2020
androidx.compose.animation:animation:0.1.0-dev16
und androidx.compose.animation:animation-core:0.1.0-dev16
werden veröffentlicht. Version 0.1.0-dev16 enthält diese Commits.
API-Änderungen
- Integrierte Vektorkonverter zum Umwandeln integrierter Einheiten sind jetzt über
Foo.VectorConverter
verfügbar. z. B.Dp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
usw. (I3e273) - Unterstützung für End-Listener in
Modifier.animateContentSize()
, sodass der Listener benachrichtigt wird, wenn die Größenänderungsanimation abgeschlossen ist. Außerdem werden die Start- und Endgröße der Animation übergeben. (I277b2) - Neuer Modifier „animateContentSize“, mit dem die Layoutgrößenänderung des untergeordneten Modifiers (Ieffdc) animiert wird
MonotonicFrameAnimationClock
wurde hinzugefügt, damit Sie eine MonotonicFrameClock alsAnimationClockObservable
verwenden können, um die Lücke zwischen den neuen auf Coroutinen basierenden Taktgebern und APIs zu schließen, die weiterhin die alten auf Callbacks basierenden Taktgeber verwenden.Die
MonotonicFrameClock
-Entsprechung vonManualAnimationClock
ist jetztManualFrameClock
. (I111c7, b/161247083)
Fehlerkorrekturen
- Die APIs für die Unterstützung von Sprachen, die von rechts nach links geschrieben werden, wurden aktualisiert. „LayoutDirectionAmbient“ wurde hinzugefügt. Damit kann die Layoutrichtung gelesen und geändert werden. „Modifier.rtl“ und „Modifier.ltr“ wurden entfernt. (I080b3)
- Der Typ T muss für „transitionDefinition“ explizit angegeben werden. (I1aded)
- Das Paket „foundation.shape.corner“ wurde in „foundation.share“ zusammengeführt (I46491, b/161887429).
- „Modifier.plus“ wurde eingestellt. Verwenden Sie stattdessen „Modifier.then“. „Dann“ ist ein stärkeres Signal für die Reihenfolge und verhindert gleichzeitig die Eingabe von
Modifier.padding().background() + anotherModifier
, was die Kette unterbricht und die Lesbarkeit erschwert (Iedd58, b/161529964). - Modifier.drawBackground wurde in Modifier.background umbenannt (I13677)
Version 0.1.0-dev15
22. Juli 2020
androidx.compose.animation:animation:0.1.0-dev15
und androidx.compose.animation:animation-core:0.1.0-dev15
werden veröffentlicht. Version 0.1.0-dev15 enthält diese Commits.
Abhängigkeiten aktualisieren
- Wenn Sie die
0.1.0-dev15
-Version von Compose verwenden möchten, müssen Sie Ihre Abhängigkeiten gemäß den neuen Code-Snippets oben unter Abhängigkeiten deklarieren aktualisieren.
API-Änderungen
- Die Transition API wurde geändert, sodass sie einen TransitionState zurückgibt, anstatt den TransitionState an untergeordnete Elemente zu übergeben. Dadurch wird die API konsistenter mit den animate()-APIs. (I24e38)
- Parameter für Modifikator für Crossfade hinzugefügt (I87cfe, b/159706180)
- Verwenden Sie AnimationSpec anstelle von AnimationBuilder in den APIs der obersten Ebene, um das Konzept der statischen Animationsspezifikation zu verdeutlichen.
- Die Übergangs-DSL wurde verbessert, indem die Lambda-Anforderung für das Erstellen von AnimationSpecs wie „tween“ und „spring“ entfernt wurde. Stattdessen werden Konstruktorparameter direkt verwendet.
- Die allgemeine Benutzerfreundlichkeit von AnimationSpec wird verbessert, indem Konstruktoren anstelle von Buildern verwendet werden.
- Die Dauer und Verzögerung für KeyFrames und Tween werden in „Int“ geändert. Dadurch werden unnötige Typumwandlungen und Methodenüberladungen (zur Unterstützung von „Long“ und „Int“) vermieden. (Ica0b4)
- Die Verwendung von „IntPx“ wurde durch „Int“ ersetzt. „IntPxPosition“ wurde durch „IntOffset“ ersetzt. „IntPxSize“ wurde durch „IntSize“ ersetzt. (Ib7b44)
- Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Größeninformationen verwendet werden, sollten Sie die Klasse „Size“ anstelle von „PxSize“ verwenden. Dies bietet die Vorteile einer Inline-Klasse, um einen Long-Wert zu nutzen, um zwei Float-Werte zu packen, die Breite und Höhe als Floats darstellen. (Ic0191)
- Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Positionsinformationen verwendet werden, wird die Verwendung der Offset-Klasse anstelle von PxPosition standardisiert. Dies bietet die Vorteile einer Inline-Klasse, um einen „long“-Wert zu verwenden, um zwei Gleitkommawerte zu packen, die als Gleitkommazahlen dargestellte x- und y-Offsets darstellen. (I3ad98)
- Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um sich bei Pixelparametern nur auf Dp und primitive Typen zu verlassen (I086f4).
- Unterstützung für animate() für Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds und AnimationVector hinzugefügt (Ib7518)
- Für Crossfade wird jetzt ein optionaler AnimationBuilder-Parameter akzeptiert, mit dem die Animation konfiguriert werden kann (I6d6e0).
- Alle Verwendungen von „nullable Color“ in der API wurden durch „non-nullable“ ersetzt und anstelle von „null“ wird „Color.Unset“ verwendet (Iabaa7).
- Die ValueHolder-Klasse wurde entfernt. Die Klassen „AnimatedValue“ und „AnimatedFloat“ wurden umstrukturiert, damit das Feld für den Animationswert abstrakt ist und Unterklassen die Aktualisierung des Werts beobachten können.
- Modellklassen für AnimatedValue, AnimatedFloat usw. hinzugefügt
- Es wurde eine neue Reihe von einfachen @Composable-APIs zum Animieren zwischen Werten hinzugefügt. (I79530)
- Funktionsgefährdende Änderungen an der Ambient-API. Weitere Informationen finden Sie im Log und in der
Ambient<T>
-Dokumentation (I4c7ee, b/143769776). - Neuer Wiederholungsmodus: „Rückwärts“. In diesem Modus wird die vorherige Iteration umgekehrt, da sich die Animation in RepeatableSpec oder VectorizedRepeatableSpec wiederholt. (Ibe0f5)
- API-Ergänzungen für ManualAnimationClock:
hasObservers: Boolean
und KonstruktorparameterdispatchOnSubscribe: Boolean
(Iaa134) - APIs zum Abrufen von Mindest- und Höchstgrenzen in AnimatedFloat (Icd9cc) hinzugefügt
Fehlerkorrekturen
runOnIdleCompose
wurde inrunOnIdle
umbenannt (I83607)- Mehrere Test-APIs wurden umbenannt, um sie intuitiver zu gestalten. Alle findXYZ-APIs wurden in onNodeXYZ umbenannt. Alle doXYZ-APIs wurden in performXYZ umbenannt. (I7f164)
- Es wurden untergeordnete zustandslose Animations-APIs eingeführt. Diese APIs (I63bf7)
- Die Recompose-Composable-Funktion ist keine nützliche Abstraktion mehr. Die meisten Neuzusammenstellungen sollten durch Zuweisungen von MutableState erfolgen. Für alles darüber hinaus wird empfohlen, die Funktion
invalidate
zu verwenden, um eine Neuzusammensetzung des aktuellen Bereichs auszulösen. (Ifc992) - Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um für Pixelparameter nur noch Dp und primitive Typen zu verwenden. Die Px-Klasse wurde vollständig gelöscht (I3ff33).
- Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um sich bei Pixelparametern nur auf Dp und primitive Typen zu verlassen (Id3434).
- Crossfade kann jetzt mit „null“ als Anfangswert verwendet werden (Iad6a4, b/155947711)
- Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um sich bei Pixelparametern nur auf Dp und primitive Typen zu verlassen (I19d02).
- CanvasScope-Implementierungen wurden konsolidiert. Es gibt jetzt nur noch DrawScope und ContentDrawScope. CanvasScope wurde in DrawScope umbenannt. DrawScope wurde aktualisiert, um die Density-Schnittstelle zu implementieren und LayoutDirection bereitzustellen. Die DrawScope-Unterklasse in ContentDrawScope wurde gelöscht. Painter und PainterModifier wurden aktualisiert, um nicht mehr selbst eine RTL-Eigenschaft zu verwalten, da DrawScope diese bereits ohne manuelle Bereitstellung bereitstellt (I1798e).
- Aktualisierte Compose-APIs auf höherer Ebene, die anstelle von CanvasScope ein Canvas-Objekt bereitstellen. Dadurch müssen Nutzer keine eigenen Paint-Objekte mehr verwalten. Für Nutzer, die weiterhin Zugriff auf ein Canvas benötigen, kann die drawCanvas-Erweiterungsmethode verwendet werden. Sie bietet einen Callback zum Ausgeben von Zeichenbefehlen mit dem zugrunde liegenden Canvas. (I80afd)
- Den Komponenten „Row“ und „Column“ wurden die Parameter „verticalGravity“ und „horizontalGravity“ hinzugefügt. (I7dc5a)
- Das Modul „ui-text“ wurde in „ui-text-core“ umbenannt (I57dec).
- DrawModifier API verbessern:
- Der Empfängerbereich für draw() wurde zu ContentDrawScope geändert.
- Alle Parameter für draw() entfernt
- DrawScope hat dieselbe Benutzeroberfläche wie das frühere CanvasScope.
- ContentDrawScope hat die Methode drawContent() (Ibaced, b/152919067)
runOnIdleCompose
undrunOnUiThread
sind jetzt globale Funktionen anstelle von Methoden für ComposeTestRule. (Icbe8f)- [Mutable]State-Property-Delegatenoperatoren wurden in Erweiterungen verschoben, um die Optimierungen für Property-Delegaten in Kotlin 1.4 zu unterstützen. Anrufer müssen Importe hinzufügen, um
by state { ... }
oderby mutableStateOf(...)
weiterhin verwenden zu können. (I5312c) - „ColoredRect“ wurde eingestellt. Verwenden Sie stattdessen
Box(Modifier.preferredSize(width, height).drawBackground(color))
. (I499fa, b/152753731) - Modifikator plus Operator durch Factory-Erweiterungsfunktionen ersetzt (I225e4)
- Eingestellte Center-Composable. Es sollte entweder durch den Modifizierer „LayoutSize.Fill + LayoutAlign.Center“ oder durch eine der Box- oder Stack-Composables mit entsprechenden Modifizierern ersetzt werden (Idf5e0).
- „LayoutFlexible“ wurde in „LayoutWeight“ umbenannt. Der enge Parameter wurde in „fill“ umbenannt. (If4738)
- Die zusammensetzbare Funktion „Opacity“ wurde durch den Modifier „drawOpacity“ ersetzt. (I5fb62)
- Bei Tests mit AndroidComposeTestRule ist jetzt eine Animationsuhr im Stamm der Komposition verfügbar, mit der die Animation pausiert, fortgesetzt und manuell vorangetrieben werden kann. (Id54c5)
- Unterstützung für die Richtung „Rechts nach links“ im Modifier „LayoutPadding“ (I9e8da)
- „Density“ und „DensityScope“ wurden in einer Benutzeroberfläche zusammengeführt. Statt ambientDensity() können Sie jetzt DensityAmbient.current verwenden. Anstelle von withDensity(density) nur with(density) (I11cb1)
- Es wurden Kopiermethoden für verschiedene Inline-Klassentypen hinzugefügt, darunter:
- Offset
- Größe
- Radius
- Bewegung
- TransformOrigin
- Die Companion-Objektmethode „Size.copy“ wurde zugunsten der Instanzmethode „copy“ eingestellt (Ife290, b/159905651).
- androidx.compose.ViewComposer wurde nach androidx.ui.node.UiComposer verschoben.
androidx.compose.Emittable wurde entfernt. Sie war redundant mit ComponentNode.
androidx.compose.ViewAdapters wurde entfernt. Sie werden nicht mehr unterstützt.
Die Funktion „Compose.composeInto“ wurde eingestellt. Verwenden Sie stattdessen
setContent
odersetViewContent
. Die Funktion „Compose.disposeComposition“ wurde eingestellt. Verwenden Sie stattdessen die Methodedispose
für das vonsetContent
zurückgegebeneComposition
. androidx.compose.Compose.subcomposeInto wurde zu androidx.ui.core.subcomposeInto verschoben. ComponentNode#emitInsertAt wurde in ComponentNode#insertAt umbenannt. ComponentNode#emitRemoveAt wurde in ComponentNode#removeAt umbenannt. ComponentNode#emitMode wurde in ComponentNode#move umbenannt (Idef00).