androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(Weitere Informationen finden Sie in der API-Referenzdokumentation für alle Erstellungspakete)
Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
30. Oktober 2024 | 1.7.5 | - | - | 1.8.0-alpha05 |
Struktur
Compose ist eine Kombination aus sieben Maven-Gruppen-IDs in androidx
. Jede Gruppe umfasst eine bestimmte Teilmenge von Funktionen mit jeweils eigenen Versionshinweisen.
In dieser Tabelle werden die Gruppen und Links zu den einzelnen Versionshinweisen erläutert.
Gruppe | Beschreibung |
---|---|
compose.animation | Sie können Animationen in ihren Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern. |
compose.compiler | @Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren. |
compose.foundation | Erstellen Sie Jetpack Compose-Anwendungen mit vorgefertigten Bausteinen und erweitern Sie die Grundlage, um eigene Designsystem-Elemente zu erstellen. |
compose.material | Erstellen Sie Jetpack Compose-UIs mit vorgefertigten Material Design-Komponenten. Dies ist der übergeordnete Einstiegspunkt von Compose. Er wurde entwickelt, um Komponenten bereitzustellen, die denen auf www.material.io entsprechen. |
compose.material3 einfügen | Jetpack Compose-UIs mit Material Design 3 Components erstellen, der nächsten Entwicklung des Material Design Material 3 umfasst aktualisierte Themen und Komponenten sowie Personalisierungsfunktionen von Material You wie dynamische Farben. Es wurde so konzipiert, dass es zum neuen visuellen Stil und zur System-UI von Android 12 passt. |
compose.runtime | Grundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Kernlaufzeit, auf die das Compose-Compiler-Plug-in ausgerichtet ist. |
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 erforderlichen Artefakte hinzu:
Cool
dependencies { implementation "androidx.compose.animation:animation:1.7.0" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.0") } 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
Dein Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen 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 einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.8
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
- Lookaheads werden jetzt in
LazyGrid
unterstützt. Dazu gehört die Unterscheidung zwischen Vorschau- und Ansatz-Pass beim Scrollen, bei der Artikelzusammensetzung/-entsorgung und bei der Artikelanimation. Außerdem wird der Vorschau-Pass als „Source of Truth“ für das Scrollen und als Ziel für die Artikelanimation verwendet.
Fehlerkorrekturen
- Interne Status für die Größentransformation von
AnimatedContent
aktualisieren, wenn der Übergang neu erstellt wird. So sind die Informationen zur Zielgröß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 Glättungskurven bei bestimmten Zeitbruchteilen abstürzten.
- Es wurde ein Fehler behoben, der zu einer fehlerhaften Ausrichtung für
Modifier.animateContentSize
unter RTL 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
AnimatedContent
-Größenanimation wurde behoben. Die Animation wird jetzt immer von der aktuellen Größe aus verfolgt und gestartet, um für Kontinuität zu sorgen.
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 Positionierungsänderungen innerhalb eines Vorschaubereichs. 94b9394
API-Änderungen
- Experimentelle Flags für Keyframes mit Bögen und Splines entfernen (89e1199)
Fehlerkorrekturen
placeHolderSize
-Logik überspringen, wenn keine Übereinstimmung gefunden wird (77c0160)- Wiedergabezeit in
AndroidFlingSpline
begrenzen, um Abstürze aufgrund einer nicht monoton ansteigenden Wiedergabezeit zu verhindern(9d47587) - Problem behoben, bei dem
SharedTransitionScope
unter bestimmten Bedingungen keine Elemente zeichnet (b41077b6)
Externer Beitrag
- Verhindern, dass der überspringbare Übergang
playTime
festgelegt wird, wenn kein Übergang ausgeführt wird, von Steven Schoen (c2e6e7e6)
Version 1.7
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 bei RTL zu einer falschen Ausrichtung von
Modifier.animateContentSize
führte. (Idae6b, b/372055503)
Version 1.7.4
16. Oktober 2024
androidx.compose.animation:animation-*:1.7.4
wurde veröffentlicht. Version 1.7.4 enthält diese Commits.
Version 1.7.3
2. Oktober 2024
androidx.compose.animation:animation-*:1.7.3
wurde 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.
Externer Beitrag
- Verhindern, dass der überspringbare Übergang
playTime
festgelegt wird, wenn kein Übergang ausgeführt wird. Vielen Dank, Steven Schoen! (c2e6e7e6)
Version 1.7.1
10. September 2024
- Keine Änderungen an Android-Artefakten.
-desktop
Artefakte wurden entfernt und-jvmStubs
und-linuxx64Stubs
Artefakte hinzugefügt. Keines dieser Ziele ist zur Verwendung vorgesehen. Sie dienen als Platzhalter für die Arbeit mit Jetbrains Compose.
Version 1.7.0
4. September 2024
androidx.compose.animation:animation-*:1.7.0
wurde 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 die Umstellung auf freigegebene Elemente
- Neue APIs für Übergänge zwischen freigegebenen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als für den gesamten Layoutbaum freigegeben getaggt werden. Dadurch werden sich sanft ändernde Grenzen erzeugt, wenn eine Gruppe freigegebener Inhalte verschwindet und eine andere Gruppe erscheint. (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 Skalieren und Neuvermessen zu wählen. Die vorherigenscaleIn/OutSharedContentToBounds
APIs wurden verworfen. (I0d41a)
Verbesserungen an bestehenden APIs:
- Neuer
Modifier.animateContentSize
mit einem zusätzlichen Parameter für die Ausrichtung benutzerdefinierter Inhalte. (I5623a, b/269803907) - Neue experimentelle
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 ohne Animation in einen Zielstatus ändert.- Sie können jetzt einen
periodicBias
-Wert (Float) ankeyframesWithSpline
übergeben. Dadurch sind die Anfangs- und Endgeschwindigkeit des Splines gleich. Nützlich für wiederholbare Animationen mit Splines. Die Vorabglättung gibt an, wie stark die Anfangs- und Endgeschwindigkeit geändert wird, um eine Periodizität zu erreichen. (Ic1e6c, b/292114811)
Die folgenden APIs sind stabil oder wurden entfernt:
AnimatedVisibilityScope.transition
ist jetzt eine stabile API.Modifier.animateEnterExit(..)
ist jetzt auch stabil. (I6c1d1)ApproachLayoutModifierNode
undModifier.approachLayout
sind jetzt stabil. Die altenisMeasurementApproachComplete()
undisPlacementApproachComplete()
wurden durch die neuenisMeasurementApproachInProgress()
undisPlacementApproachInProgress()
ersetzt.- Die Einstellung „
intermediateLayout
“ wurde entfernt. (I3e91c) 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
- Behoben wurde ein Problem, bei dem
SharedTransitionScope
unter bestimmten Bedingungen keine Overlay-Elemente während der Umstellung zeichnete. Dies tritt in der Regel bei der Verwendung mit Navigation auf. (Id65ab, b/347520198)
Version 1.7.0-beta06
24. Juli 2024
androidx.compose.animation:animation-*:1.7.0-beta06
wurde veröffentlicht. Version 1.7.0-beta06 enthält diese Commits.
Fehlerkorrekturen
- Es wurde behoben, dass
SeekableTransition
-Übergangsstatus nicht freigegeben wurden. Beobachtungen vonSnapshotStateObserver
werden jetzt ordnungsgemäß bereinigt, wenn der Übergang entsorgt wird. (b9c7182) - Behobene Grenzfälle, in denen untergeordnete Übergänge nicht ordnungsgemäß als abgeschlossen gekennzeichnet wurden, wenn das übergeordnete Element abgeschlossen wurde. (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 Property „Übergang“
totalDurationNanos
kann jetzt innerhalb einessnapshotFlow
korrekt 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
wurde 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 Skalieren und Neuvermessen zu wählen. Die bisherigenscaleIn/OutSharedContentToBounds
APIs werden eingestellt. (I0d41a)
Externer Beitrag
- 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
wurde veröffentlicht. Version 1.7.0-alpha08 enthält diese Commits.
API-Änderungen
- Die
LookaheadScope
APIs wurden stabil gemacht. (I21507)
Externer Beitrag
- Startzeit der Animation nach
SeekableTransitionState
animiert/schnappt von 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 freigegebenen Elementen warten auf Ihre Nutzung und Ihr Feedback. Diese neuen experimentellen APIs ermöglichen Tagging von Layouts, die mithilfe der bereitgestellten Modifikatoren in der Layoutstruktur gemeinsam genutzt werden. Dabei werden sich nahtlos ändernde Grenzen erzeugt, wenn ein Satz freigegebener Inhalte den Vorgang verlässt und der andere Satz eintritt. (Icb0b9)
- Neue
scaleInSharedContentToBounds
undscaleOutSharedContentToBounds
zum Skalieren von Inhalten insharedBounds
(I731c1)
API-Änderungen
AnimatedVisibilityScope.transition
ist jetzt eine stabile API.Modifier.animateEnterExit(..)
ist jetzt auch stabil. (I6c1d1)ApproachLayoutModifierNode
undModifier.approachLayout
sind jetzt stabil. Die altenisMeasurementApproachComplete()
undisPlacementApproachComplete()
wurden durch die neuenisMeasurementApproachInProgress()
undisPlacementApproachInProgress()
ersetzt.- Die Einstellung „
intermediateLayout
“ wurde entfernt. (I3e91c) - Sie können jetzt einen
periodicBias
-Wert (Float) ankeyframesWithSpline
übergeben. Dadurch sind die Anfangs- und Endgeschwindigkeit des Splines gleich. Nützlich für wiederholbare Animationen mit Splines. Die Vorabglättung gibt an, wie stark die Anfangs- und Endgeschwindigkeit geändert wird, um eine Periodizität zu erreichen. (Ic1e6c, b/292114811)
Fehlerkorrekturen
- Korrektur von Über- und Unterschreitungskurven, die zuvor auf 0 bis 1 begrenzt waren (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
- Die Unterstützung für Animationen für das Erscheinungsbild und das Verschwinden von Elementen wurde in
LazyColumn
undLazyRow
hinzugefügt. Bisher war es möglich, den ModifiziererModifier.animateItemPlacement()
hinzuzufügen, um Animationen 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 alle drei Animationstypen unterstützt werden: Erscheinungsbild (Einblenden), Verschwinden (Ausblenden) und Neuanordnung. (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 ohne Animation in einen Zielstatus ändert.
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 Pfadrichtung (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
mit einem zusätzlichen Parameter für die Ausrichtung benutzerdefinierter Inhalte. (I5623a, b/269803907) - Neue experimentelle
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) - Behoben wurde das Problem, dass
Modifier.animateContentSize
bei Verwendung inLazyList
nicht richtig zurückgesetzt wurde. (I070512, b/322525716) - Bei Verwendung von Zeitstempeln außerhalb des zulässigen Bereichs wurde
IllegalStateException
aufKeyframesSpec
festgelegt. (I341b8, b/322839811)
Version 1.7.0-alpha01
24. Januar 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
wurde 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
wurde veröffentlicht. Version 1.6.0-beta03 enthält diese Commits.
API-Änderungen
scaleInToFitContainer
undscaleOutToFitContainer
wurden vorübergehend ausAnimatedContentTransitionScope
entfernt, da sie einen Vorwärtsblick erfordern. Sie sind verfügbar, wenn die Vorschau standardmäßig aktiviert ist oder in zukünftigen Releases 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
wurde veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
API-Änderungen
ExitTransition.Hold
wurde inExitTransition.KeepUntilTransitionsFinished
umbenannt, um die Funktion besser zu beschreiben. (I1c490)- Mit
keyframesWithSpline
können Sie jetzt jeden n-dimensionalen Wert mithilfe von monoton steigenden Splines interpolieren. Das ist besonders nützlich, um Positionswerte wieOffset
,IntOffset
undDpOffset
zu interpolieren. Als experimentelle API hinzugefügt.
Fehlerkorrekturen
- Unterstützung für den Renderer für den Farbverlauf „Sweep Gradient“ in
ArcLine
hinzufügen (I4d5bb) - Implementiere Gleichheits- und Hashcode für
PageSize.Fixed
. (Ie3ede, b/300134276) - Binär-Kompatibilitätsproblem bei der Änderung von Window Inset wurde behoben. (Iee695)
- Entferne die Materialkernschicht für den Material3-Chip/die Schaltfläche, da die Mikro-Benchmarks auch ohne sie eine bessere Leistung zeigen. (I55555)
Version 1.6.0-alpha08
18. Oktober 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
wurde veröffentlicht. Version 1.6.0-alpha08 enthält diese Commits.
API-Änderungen
KeyframesSpecConfig#with
wurde zugunsten vonKeyframesSpecConfig#using
eingestellt, bei dem 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
- Tabs mit festem und scrollbarem Tab haben jetzt eine primäre und eine sekundäre Variante. Diese entsprechen der in Material3 definierten Farbe und dem Indikatorverhalten korrekt.
PrimaryScrollableTabRow
undSecondaryScrollableTabRow
zeigen jetzt den Scrollstatus an. (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 einer Ease-Kurve ein beliebiger Pfad zugewiesen 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 von Ein-/Ausblendungsübergang, bei dem die Inhalte während der Ein-/Ausblendungsanimation anhand der Größe des animierten Containers skaliert werden.
LookaheadScope
Der zusammensetzbare Spaß und die Benutzeroberfläche 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
- Neue
ExitTransition.Hold
, um ausgehende Inhalte inAnimatedContent
anzuzeigen, bis sowohl der Ein- als auch der Ausgang abgeschlossen ist. (I5984f) - Zusätzliche Anmerkungen zur Angabe zulässiger Eingaben für zusammensetzbare Funktionen (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
- Aktiviere die vollständige Einbindung von
Modifier.animateContentSize
undAnimatedVisibility
in das Lookahead-System, indem du die Zielgröße im Lookahead-Pass angibst.
API-Änderungen
- Neues Attribut in
IntrinsincMeasureScope
und seinen Implementierungen (z.B.MeasureScope
), das angibt, ob der aktuelle Messdurchlauf ein Vorschaudurchlauf ist. (I7a812)
Fehlerkorrekturen
- Zuweisungen für Federanimationen entfernt (Ie9431)
- Der Name des Wertparameters für Enum.valueOf wurde geändert (Ia9b89)
- Mehr geworfene Ausnahmen von enum valueOf (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
wurde veröffentlicht. In dieser Version wurden keine Änderungen vorgenommen
Version 1.5.2
27. September 2023
androidx.compose.animation:animation-*:1.5.2
wurde 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
- Textfelder, in denen die Tastatur angezeigt und die Textfelder bearbeitet werden können, wenn
readOnly
= „wahr“ ist, wurden korrigiert. Außerdem wurde behoben, dass die Tastatur nicht angezeigt wurde, wennreadOnly
während der Fokussierung von „wahr“ zu „falsch“ 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
wurde 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 Statustyp (z. B.MutableIntState
) eine Lint-Warnung mit einer ungültigen Korrektur gemeldet wurde. Bei der Prüfung wird nun 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 Primitive 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 die Schwere von „Information“ zu „Warnung“ (oder höher). Deklarieren Sie dazuwarning "AutoboxingStateCreation"
wie gezeigt in derbuild.gradle
- oderbuild.gradle.kts
-Konfiguration Ihres Moduls (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
wurde veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
API-Änderungen
- Zuweisungen bei der Neuzusammensetzung, Farbanimationen und
AndroidComposeView
(Ib2bfa) entfernt
Fehlerkorrekturen
- Zuweisungen aus Federanimationen 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, um mehr Kontrolle darüber zu haben, wann die Umstellung 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
-Anzeigen ohne bedingte Slots (z. B.TabRow
,Scaffold
,BoxWithConstraints
usw.) gut mit Vorschauanimationen funktionieren.
API-Änderungen
- Mit der neuen Standard-
intermediateMeasurePolicy
, die die Messungsrichtlinie aus dem Lookahead-Pass wiederverwendet, könnenSubcomposeLayout
-Untertypen ohne bedingte Slots wieScaffold
,TabRow
undBoxWithConstraints
standardmäßig mit Lookaheads verwendet werden. (Id84c8) - Benenne das Infix „fun with“ in „
togetherWith
“ um, um Ein- und Ausblendübergänge zu kombinieren. NeueAnimatedContentScope
als Empfänger für das Inhalts-Lambda. (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 Vorschauen in
SubcomposeLayout
. Dadurch kannSubcomposeLayout
in einemLookaheadScope
ordnungsgemäß funktionieren. Demnächst werden bestimmteSubcomposeLayout
-Subtypen sofort unterstützt.
API-Änderungen
- Neue
SubcomposeLayout
API mit einer zusätzlichen Richtlinie für Zwischenmesswerte zur Verarbeitung der Mess-/Layoutlogik bei lookahead-basierten Animationen. (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
wurden 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
werden losgelassen. 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
werden losgelassen. Version 1.4.0-alpha05 enthält diese Commits.
Änderungen
- Keine Änderungen an den Animationsbibliotheken seit der letzten Alphaversion, nur Versionsaktualisierung
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
werden losgelassen. Version 1.4.0-alpha04 enthält diese Commits.
Neue Funktionen
- Tool-Labels werden in
rememberInfiniteTransition
und allen Erweiterungsfunktionen aufInfiniteTransition
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
werden losgelassen. Version 1.4.0-alpha03 enthält diese Commits.
API-Änderungen
- In UI-Tests mit einer Compose-Regel werden Fortsetzungen, die während
withFrameNanos
-Callbacks fortgesetzt wurden, erst gesendet, nachdem alle Frame-Callbacks ausgeführt wurden. Das entspricht dem Verhalten von compose bei normalem Ausführen. Tests, die auf dem alten Verhalten basieren, können jedoch fehlschlagen. Dies sollte nur Code betreffen, derwithFrameNanos
oderwithFrameMillis
direkt aufruft und bei dem die Logik außerhalb des Callbacks an die Funktionen übergeben wird, die möglicherweise innerhalb der Callbacks verschoben werden müssen. Beispiele finden Sie in den Änderungen an den Animationstests in dieser Änderungsliste. - Dem Konstruktor und der Fabrikfunktion von
TestMonotonicFrameClock
wurde der optionale ParameteronPerformTraversals: (Long) -> Unit
hinzugefügt, um Code nachwithFrameNanos
-Callbacks auszuführen, aber bevor die coroutines der Aufrufer fortgesetzt werden. (Idb413, b/254115946, b/222093277, b/255802670) - Neuer Parameter in
AnimatedContent
für das Tool-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
wurden veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
API-Änderungen
- Fügen Sie
ToolingState
hinzu, damit Tools interne Status von Composable ä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
werden losgelassen. Version 1.4.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Falsche Unterbrechungsanimation in AnimatedContent korrigiert (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
wurden veröffentlicht. Version 1.3.3 enthält diese Commits.
- Keine Änderungen seit dem 1. März 2022.
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
werden losgelassen. Version 1.3.2 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert auf 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
werden losgelassen. 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
werden losgelassen. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Neue Ease-Funktionen sind 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
werden losgelassen. 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
werden losgelassen. Version 1.3.0-beta03 enthält diese Commits.
- Keine Änderungen seit 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
werden losgelassen. Version 1.3.0-beta02 enthält diese Commits.
- Kotlin.experimental wurde aus den Compileroptionen entfernt, da es eingestellt 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
wurden 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
wurden veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
API-Änderungen
- Neuer Parameter in
Crossfade
,animateAsState
undAnimatable
für Tool-Label (Iac08a) - Die Funktion
atFraction
wurde hinzugefügt, um Keyframes an einem Bruchteil statt an 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
werden losgelassen. 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
werden losgelassen. Version 1.3.0-alpha01 enthält diese Commits.
API-Änderungen
- Neue
LookaheadLayout
, die einen Vorlauf vor dem tatsächlichen Mess-/Layout unterstützt. So kann das Layout bei Änderungen vorab berechnet werden. Gleichzeitig kann das Mess-/Layout nach dem Vorschauzeitraum die vorab berechnete Größe/Position verwenden, um die Größe und Positionen in Richtung des Ziels zu animieren.SubcomposeLayouts
werden noch nicht unterstützt, aber in einer kommenden Version. (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
werden losgelassen. 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
wurden veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Bei der Erstellung von Animationen wird jetzt in den Entwickleroptionen die Einstellung für die Skala der Animatordauer unterstützt.
- Eine große Auswahl neuer experimenteller Glättungskurven.
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
wurden veröffentlicht. Version 1.2.0-rc03 enthält diese Commits.
- Keine Änderungen seit 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
wurden veröffentlicht. Version 1.2.0-rc02 enthält diese Commits.
Fehlerkorrekturen
ExperimentalEasingApi
-Anmerkung zu Easing-Funktionen entfernt (Ied441)
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
werden losgelassen. Version 1.2.0-rc01 enthält diese Commits.
API-Änderungen
- Schnittstellen in Erstellungsbibliotheken werden jetzt mit jdk8-Standardschnittstellenmethoden 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
werden losgelassen. Version 1.2.0-beta03 enthält diese Commits.
API-Änderungen
- Es wurden experimentelle Glättungskurven 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
werden losgelassen. 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
werden losgelassen. Version 1.2.0-beta01 enthält diese Commits.
- Dies ist die erste Betaversion von 1.2. Es gibt keine Änderungen seit der letzten Alphaversion.
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
werden losgelassen. 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
werden losgelassen. 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
werden losgelassen. Version 1.2.0-alpha06 enthält diese Commits.
API-Änderungen
- Das Parsen von Vektorgrafiken wurde aktualisiert, um die automatische Spiegelung zu unterstützen, mit der der Inhalt eines
VectorPainter
gedreht wird, wenn die aktuelle Layoutrichtung „Rechts nach links“ ist. (I79cd9, b/185760237)
Fehlerkorrekturen
- In den APIs für Vektorgrafiken wird jetzt die richtige zusammensetzbare Anmerkung
@VectorComposable
anstelle von@UiComposable
verwendet (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
wurden veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
API-Änderungen
- Super! Die Einstellung „Animator duration scale“ (Animationsdauerskala) in den Entwickleroptionen wird jetzt bei der Erstellung von Animationen unterstützt. (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
werden losgelassen. 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
werden losgelassen. 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
wurden 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
werden losgelassen. 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
- Fügen Sie toString-Methoden zu Animatable und AnimationResult hinzu. (Icd3a6)
Abhängigkeitsupdates
- Jetzt abhängig von Kotlin
1.6.10
.
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
werden losgelassen. 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 den Inhalt der Zwischenablage beim Lesen aus der Zwischenablage auf Android-Geräten verursacht wurde, wurde behoben. (I06020, b/197769306)
- RTL in
LazyVerticalGrid
korrigiert (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
wurden 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 Touch-Zielen
- In Bezug auf Compose 1.0 wird der Layoutbereich von Material-Komponenten so erweitert, dass sie den Richtlinien für Bedienungshilfen von Material für die Größe des Berührungszielbereichs entsprechen. So wird beispielsweise der Berührungszielbereich einer Schaltfläche auf eine Mindestgröße von 48 x 48 dp erweitert, auch wenn Sie die Größe der Schaltfläche kleiner festlegen. Dadurch wird das Kompositionsmaterial auf das gleiche Verhalten der Material Design-Komponenten abgestimmt, was ein einheitliches Verhalten ermöglicht, wenn du „View“ und „Compose“ mischst. Durch diese Änderung wird außerdem sichergestellt, dass beim Erstellen der Benutzeroberfläche mit „Material erstellen“-Komponenten die Mindestanforderungen für die Barrierefreiheit auf Berührungszielbereichen erfüllt sind.
- Stabile Unterstützung für den Navigationsstreifen
- Umstellung einer Reihe zuvor experimenteller APIs auf stabile Version
- Unterstützung für neuere Kotlin-Versionen
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
werden losgelassen. Version 1.1.0-rc03 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert, um Compose Material 1.1.0-rc03 zu unterstützen
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 freigegeben. Version 1.1.0-rc01 enthält diese Commits.
API-Änderungen
- Verwenden Sie
AnimatedImageVector.animatedVectorResource
anstelle vonanimatedVectorResource
, um eine<animated-vector>
-Ressourcendatei zu laden.- Verwende
rememberAnimatedVectorResource
anstelle vonAnimatedImageVector#painterFor
, um einAnimatedImageVector
zu rendern. (I9c300)
- Verwende
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
wurden veröffentlicht. Version 1.1.0-beta04 enthält diese Commits.
Neue Funktionen
- Aktualisiert für die Kompatibilität mit Kotlin
1.6.0
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
werden losgelassen. Version 1.1.0-beta03 enthält diese Commits.
API-Änderungen
- Der neue Modifikator „Modifier.onPlaced“ wurde hinzugefügt, um die Platzierung zu erfassen. Basierend auf der beobachteten Placement-Änderung können daher weitere Änderungen am Offset des untergeordneten Modifiers vorgenommen werden. (I558fd)
Neue Unterstützung für „contentKey“ in Crossfade. Der ContentKey wird vom Animationssystem für die Gleichheitsprüfung verwendet. Daher ist eine benutzerdefinierte Unterscheidung von Zuständen möglich, indem ein entsprechender contentKey für verschiedene Zustände 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
werden losgelassen. Version 1.1.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Neue Animations-APIs für die Unterstützung von Tools. Insbesondere ermöglichen sie es, mithilfe von Tools die Animationen und ihre Konfigurationen in Übergängen zu prüfen. (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
werden losgelassen. Version 1.1.0-beta01 enthält diese Commits.
API-Änderungen
- Neue Animations-APIs für die Unterstützung von Tools. Insbesondere ermöglichen sie es, mithilfe von Tools die Animationen und ihre Konfigurationen in Übergängen zu prüfen. (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
werden losgelassen. 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
werden losgelassen. Version 1.1.0-alpha05 enthält diese Commits.
API-Änderungen
EnterTransition
,ExitTransition
und einige derAnimatedVisibility
APIs sind jetzt stabil.MutableTransitionState.isIdle
befindet sich ebenfalls nicht mehr in der Testphase. (I5072d)Bruchänderung: Lambdas in Enter/ExitTransition-Fabriken 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
werden losgelassen. 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
wurden veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Die Funktion „Compose“ (
1.1.0-alpha03
) wurde so aktualisiert, dass sie von „1.5.30
“ in Kotlin abhängig ist. (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
werden losgelassen. Version 1.1.0-alpha02 enthält diese Commits.
API-Änderungen
- StartOffset wird jetzt in Repeatable und unfiniteRepeatable unterstützt, um die Startzeit zu verzögern oder die Animation vor dem Start der Animation zu beschleunigen. Dieser Startoffset wird nicht wiederholt (Ic679f, b/195079908)
- Neuer Übergang für das Ein- und Ausblenden von Skalen. Er kann in Kombination mit anderen Arten von Eintritts-/Austrittsübergängen 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
werden losgelassen. 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 (I5eb09, b/160602714) verschoben
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
wurden 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 freigegeben. 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 freigegeben. 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 freigegeben. Version 1.0.2 enthält diese Commits.
Aktualisiert, um die Compose 1.0.2
-Version zu unterstützen. „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 freigegeben. Version 1.0.1 enthält diese Commits.
Abhängigkeitsupdates
- Aktualisiert auf Kotlin
1.5.21
.
Version 1.0.0
28. Juli 2021
androidx.compose.animation:animation:1.0.0
und androidx.compose.animation:animation-core:1.0.0
wurden veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von 1.0.0
Dies ist die erste stabile Version von Compose. Weitere Informationen findest du im offiziellen Compose-Release-Blog.
Bekannte Probleme
Wenn du Android Studio Bumblebee Canary 4 oder AGP
7.1.0-alpha04
/7.1.0-alpha05
verwendest, kann es zu folgendem Absturz kommen:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Erhöhen Sie in der
build.gradle
-Datei vorübergehend die minSdkVersion auf mindestens 24, um das Problem zu beheben. 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 freigegeben. 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 freigegeben. Version 1.0.0-rc01 enthält diese Commits.
Fehlerkorrekturen
InfiniteAnimationPolicy
wurde zuandroidx.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 freigegeben. Version 1.0.0-beta09 enthält diese Commits.
API-Änderungen
- Neue
AnimatedContent
-Funktion/Datentyp Die Inhaltsänderung wird mithilfe von benutzerdefinierbarenContentTransform
verwaltet, wenn neue Zielinhalte eintreten und die ursprünglichen Inhalte verlassen. Mit verschiedenen Kombinationen von Ein- und Ausblendungsübergängen können Sie ein individuelles Erscheinungsbild erzielen. Im Rahmen der Inhaltstransformation wird die Größe vonAnimatedContent
automatisch animiert, um den eingehenden Inhalten zu entsprechen. (I2c3df) ManualFrameClock
wurde entfernt. Wenn Sie Animationen steuern müssen, verwenden Sie stattdessencomposeTestRule.mainClock
. (I3c3e8, b/189951065)
Profilregeln hinzugefügt
In dieser Version werden den folgenden Compose-Modulen (I14ed6) Profilregeln hinzugefügt:
- 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.geometrie
- 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
im Verzeichnissrc/main
oder einem ähnlichen Verzeichnis angegeben. Die Datei enthält eine Regel pro Zeile. Eine Regel ist in diesem Fall ein Muster, das mit Methoden oder Klassen in der Bibliothek abgeglichen wird. Die Syntax dieser Regeln ist ein Superset des visuell lesbaren ART-Profilformats, das bei der Verwendung vonadb shell profman --dump-classes-and-methods ...
verwendet wird. Diese Regeln können auf eine von zwei Arten auf Methoden oder Klassen ausgerichtet werden.Eine Methodenregel hat das folgende Muster:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Eine Klassenregel hat das folgende Muster:
<CLASS_DESCRIPTOR>
Hier 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 sowie die Parametertypen und Rückgabetypen der Methode. Beispiel: Die Methodefun isPlaced(): Boolean
vonLayoutNode
hat die SignaturisPlaced()Z
.Diese Muster können Platzhalter (
**
,*
und?
) enthalten, damit eine einzelne Regel mehrere Methoden oder Klassen umfassen kann.
Welchen Zweck haben die Regeln?
Eine Methode mit dem Flag
H
gibt an, dass diese Methode eine "heiße" Methode ist und im Voraus kompiliert werden sollte.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
- Diese Regeln können in Bibliotheken definiert werden und werden in AAR-Artefakten verpackt. 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 für die App spezifisch ist. ART kann dieses Profil dann nutzen, wenn die App auf Geräten installiert wird, um einen bestimmten Teil der Anwendung vorab zu kompilieren und so die Leistung der Anwendung zu verbessern, insbesondere beim ersten Ausführen. Hinweis: Dies hat keine Auswirkungen auf debuggbare 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 freigegeben. Version 1.0.0-beta08 enthält diese Commits.
Fehlerkorrekturen
- Die Positionsänderung wird jetzt für
detectDragGesures
,detectVerticalGestures
unddetectHorizontalGestures
automatisch übernommen, sodass man change.consumePositionChange in den onDrag-Callbacks nicht aufrufen muss (I42fc4, b/185096350, b/187320697). Modifier.onGloballyPositioned()
wurde geändert, um die Koordinaten dieses Modifikators in der Modifikatorkette anzugeben, und nicht die Layoutkoordinaten, nachdem alle Modifikatoren angewendet wurden. Das bedeutet, dass jetzt die Reihenfolge der Modifikatoren darüber entscheidet, welche Koordinaten erfasst 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 freigegeben. Version 1.0.0-beta07 enthält diese Commits.
API-Änderungen
- Neue
AnimatedVisibility
API, mit der die Sichtbarkeit in einerMutableTransitionState
angegeben werden kann. Außerdem können die Animationsstatus übercurrentState
undisIdle
extern vonAnimatedVisibility
aus beobachtet werden.- Neue Unterstützung für die Umstellung von Kindern in YouTube Music
- Unterstützung benutzerdefinierter Animationen für das Aus- und Einblenden in AnimatedVisibility mit AnimationScope.transition
- Neuer Modifikator „animateEnterExit“, der für alle untergeordneten Elemente von „AnimatedVisibility“ zugänglich ist
- Die APIs „AnimatedVisibility“, die einen
initiallyVisible
-Parameter annehmen, 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 freigegeben. 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
wurden 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 freigegeben. 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
wurden 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 freigegeben. 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 freigegeben. 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- Oberflächen sind für das Senden / Erfassen von Interaktionsereignissen verantwortlich.
- Anstatt
interactionState = remember { InteractionState() }
an Komponenten wieButton
undModifier.clickable()
zu übergeben, verwenden SieinteractionSource = remember { MutableInteractionSource() }
. - Anstatt
Interaction.Pressed in interactionState
sollten Sie stattdessen die Erweiterungsfunktionen von InteractionSource verwenden, z. B. InteractionSource.collectIsPressedAsState(). - Bei komplexen Anwendungsfällen können Sie mit „InteractionSource.interactions“ den Stream der Interaktionen beobachten. Weitere Informationen finden Sie in der InteractionSource-Dokumentation und den Beispielen.
- (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ößenmodifikatoren wurden umbenannt. „Modifier.width/height/size“ wurden in „requiredWidth/requiredHeight/requiredSize“ umbenannt. „Modifier.preferredWidth/preferredHeight/preferredSize“ wurde in „Breite/Höhe/Größe“ umbenannt. (I5b414)
- Die Ausrichtung wurde in das Basispaket verschoben. VelocirtTracker wurde von ui.gesture zu ui.input.pointer verschoben. (Iff4a8, b/175294473)
- AnimationClockObservable und die untergeordneten Klassen wurden entfernt. AnimatedFloat wurde entfernt. (Icde52, b/177457083)
- Modifier.draggable akzeptiert jetzt DraggableState anstelle eines einfachen Lambdas. Sie können den Status über
rememberDraggableState { delta -> }
erstellen, um dasselbe Verhalten wie zuvor zu erhalten (Ica70f, b/175294473) - Die APIs animate,animateValue und animateValue wurden entfernt (If27bc, b/177457083).
- AnimationEndReason.Interrupted wurde entfernt. CancellationException wird geworfen, 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
wurden veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
API-Änderungen
- Für
Modifier.pointerInput
ist jetzt das Speichern von Schlüsseln erforderlich, um anzugeben, wann die Koroutine zur Erkennung der Zeigereingabe 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, um FiniteAnimationSpec zu akzeptieren. (Ie47c5, b/177457083)
- „Animatable.snapTo“ und „Animatable.stop“ sind jetzt Aussetzungsfunktionen (If4288)
- Ähnlich wie wir zuvor
state { 0 }
-Kompositen entfernt und die Verwendung vonremember { mutableStateOf(0) }
empfohlen haben, werden wirsavedInstanceState { 0 }
-Kompositen entfernen. Sie sollten stattdessenrememberSaveable { mutableStateOf(0) }
verwenden. Die Speicherung und Wiederherstellung erfolgen automatisch, wenn der im MutableState verwendete Typ im Bundle gespeichert werden kann. Wenn Sie zuvor ein benutzerdefiniertes Speicherobjekt übergeben haben, müssen Sie jetzt eine neue Überladung von „rememberSaveable“ mit dem ParameterstateSaver
verwenden. Die Verwendung sieht dann so aus:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - Die Methodensignatur von Crossfade wurde aktualisiert, damit sie mit dem Rest des Animationssystems konsistenter ist. (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. Sie können also einfach „Any“ als Schlüssel übergeben. Die experimentelle Anmerkung ist nicht mehr erforderlich. (I0902e, b/174598702)
- Die API „Modifier.animateContentSize“ wurde aktualisiert, um mit dem Rest des Animationssystems übereinzustimmen. (I0bf75, b/177457083)
- Die Funktion „Animierter Wert/Gleitkommazahl“ wird jetzt eingestellt. Verwenden Sie stattdessen „Animatable“. (I71345, b/177457083)
- Die Funktionen „tapGestureFilter“, „doubleTapGestureFilter“, „longPressGestureFilter“ und „pressIndicaitonGestureFilter“ wurden eingestellt. Verwenden Sie stattdessen Modifier.clickable oder Modifier.pointerInput mit der Funktion „detectTapGestures“. (I6baf9, b/175294473)
- Einführung eines
InfiniteAnimationPolicy
-Kontextelements für Tasks, das bei endlosen Animationen angewendet wird. Standardmäßig ist keine Richtlinie installiert, außer beim Ausführen von Tests mitComposeTestRule
. (I50ec4, b/151940543) - Die Methoden zum Löschen und copy() wurden aus mehreren Klassen entfernt, in denen sie selten verwendet wurden. (I26702, b/178659281)
- Die Wiedergabezeit in der Animation ist jetzt nicht mehr auf Nanosekunden festgelegt (If776a)
- Das Artefakt „compose:runtime-dispatch“ wird jetzt eingestellt. MonotonicFrameClock finden Sie jetzt unter compose:runtime und AndroidUiDispatcher unter compose:ui. (Ib5c36)
- Die Attribute
Animation.isInfinite
undVectorizedAnimationSpec.isInfinite
wurden hinzugefügt, um anzugeben, ob eine Animation endlos ist oder nicht. Dies kann bei der Implementierung von Animationen verwendet werden, um eine spezielle Verarbeitung solcher Animationen zu ermöglichen. Es kann beispielsweise eine spezielle Meldung mit der verbleibenden Zeit angezeigt werden oder die Animation kann während der Tests abgebrochen werden, um zu verhindern, dass auf unbestimmte Zeit gewartet wird. (Iebb05, b/151940543) - Als Typ der Animationszeit wird Long anstelle von Verfügbarkeit verwendet (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 freigegeben. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Die auf TransitionDefinition basierende Transition wurde eingestellt (I0ac57)
- Es wird ein Labelfeld für Übergänge und untergeordnete Animationen hinzugefügt, das in den Tools angezeigt wird (I619fb)
- „animateAsState“ heißt jetzt „animateFooAsState“, wobei „Foo“ der Typ der animierten Variablen ist, z. B. „Float“, „Dp“ oder „Offset“ (Ie7e25)
- Neue Funktion „InfiniteTransition“, mit der beliebig viele untergeordnete Animationen ausgeführt werden können. (I1da81)
- Ändert zustandsorientierte Material-Parameteroberflächen in @Composable-Funktionen, die
State<T>
zurückgeben. Es wurde „Animatable.asState()“ hinzugefügt, um die Umwandlung eines Animatables in einen Status zu vereinfachen. Außerdem wird „animateElevation“ in eine Aussetzungserweiterung für „Animatable“ geändert. (If613c)
Fehlerkorrekturen
- onCommit, onDispose und onActive wurden zugunsten der SideEffect- und DisposableEffect-APIs eingestellt (If760e)
- Anfänglicher Status in updateTransition wird jetzt unterstützt (Ifd51d)
- Dem Bild und dem Symbol wurde der Parameter „Inhaltsbeschreibung“ hinzugefügt. Sie wird verwendet, um Bedienungshilfen zu beschreiben (I2ac4c).
- invalidate und compositionReference() werden jetzt zugunsten von currentRecomposeScope bzw. rememberCompositionReference eingestellt. (I583a8)
- „Duration“ und „Uptime“ werden durch „Long milliseconds“ ersetzt. Dadurch wird die Abhängigkeit der Zeigereingabe von diesen Klassen aufgehoben. (Ia33b2, b/175142755, b/177420019)
- Anklickbar, ein- und auswählbar können jetzt außerhalb der Komposition erstellt werden (I0a130, b/172938345, b/175294473).
- Die Funktion „Easing“ wurde in eine funktionale Oberfläche geändert (Ib14e5)
- Neue
items(count: Int)
-Factorymethode für LazyColumn/LazyRow/LazyVerticalGrid.items(items: List)
unditemsIndexed(items: List)
sind jetzt Erweiterungsfunktionen und müssen bei Verwendung manuell importiert werden. Neue Erweiterungsüberladungen für Arrays: „items(items: Array)“ und „itemsIndexed(Array)“ (I803fc, b/175562574) - TestCoroutineDispatcher bei Tests nutzen (I532b6)
- PointerInputData wurde entfernt und PointerInputChange geändert, um alle Felder von PointerInputData bereitzustellen. 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 freigegeben. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
- Velocity wurde um Komponententeile und mathematische Operationen erweitert. (Ib0447)
@ExperimentalTesting
wurde in@ExperimentalTestApi
umbenannt, um mit ähnlichen experimentellen API-Hinweisen übereinzustimmen (Ia4502, b/171464963).- „Position“ in „DpOffset“ umbenannt und „getDistance()“ entfernt (Ib2dfd)
- Die öffentliche API „Any.identityHashCode()“ wurde entfernt (I025d7)
Fehlerkorrekturen
- Neue koroutinebasierte API
Animatable
, die die gegenseitige Exklusivität der Animationen gewährleistet. Neue DecayAnimationSpec zur Unterstützung mehrdimensionaler Zerfallanimationen (I820f2, b/168014930) animate()
wurde durchanimateAsState()
ersetzt, dasState<T>
stattT
zurückgibt. Dies ermöglicht eine bessere Leistung, da der Entwertungsbereich darauf eingegrenzt werden kann, wo 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 freigegeben. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
- Dp.VectorConverter, Position.VectorConverter usw. wurden in „animation-core“ verschoben und die alten VectorConveters eingestellt (If0c4b)
- Es wurden eine ganze Reihe neuer Übergangs-APIs eingeführt, die noch einfacher zu verwenden sind und dynamisch hinzugefügte Animationen sowie dynamisch berechnete Animationsziele unterstützen. Diese APIs sind als experimentell gekennzeichnet, um sie leicht von der TransitionDefinition-basierten API unterscheiden zu können. (Ia7fe3)
Fehlerkorrekturen
- Lambdas in Offset-Modifizierern geben jetzt IntOffset statt Float zurück. (Ic9ee5, b/174137212, b/174146755)
- Die Funktionen „LazyColumnFor“, „LazyRowFor“, „LazyColumnForIndexed“ und „LazyRowForIndexed“ werden eingestellt. Verwenden Sie stattdessen LazyColumn und LazyRow (I5b48c).
- Zum Anhalten von Zeigereingabe-APIs wurde HandlePointerInputScope in AwaitPointerEventScope und handlePointerInput() in awaitPointerEventScope() umbenannt. (Idf0a1, b/175142755)
- Neue Funktion „infiniteRepeatable“ zum Erstellen einer InfiniteRepeatableSpec (I668e5)
- Anmerkung zu ExperimentalPointerInput entfernt (Ia7a24)
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 freigegeben. 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 Übereinstimmung mit den Compose-Richtlinien zu prüfen.
Außerdem wurden einige APIs, die
children
als Namen für das abschließende Lambda verwendet haben, gemäß der Lint-Prüfung und den Anleitungen zucontent
migriert. (Iec48e) - Die folgenden verworfenen APIs wurden entfernt:
Modifier.onPositioned
wurde entfernt. Verwenden Sie stattdessenModifier.onGloballyPositioned
.Modifier.onDraw
wurde entfernt. Verwenden Sie stattdessenModifier.onDrawBehind
.Modifier.plus
wurde entfernt. VerwendeModifier.then
.Color.Unset
wurde entfernt. VerwendeColor.Unspecified
.- Die Klasse
PxBounds
wurde entfernt. Verwenden Sie stattdessenRect
. - (Ie9d02, b/172562222)
- Vorübergehend wurde die Option hinzugefügt, die TestAnimationClock von der MonotonicFrameClock steuern zu lassen (I1403b, b/173402197)
Fehlerkorrekturen
- Modifier.drawLayer in Modifier.graphicsLayer umbenannt. Die zugehörigen Klassen wurden gemäß dem Feedback des API-Rates in GraphicsLayer aktualisiert. (I0bd29, b/173834241)
- Die APIs „Modifier.scale“ und „Modifier.rotate“ wurden 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 optional. (Id468a)
- Die Modifikatoren „offsetPx“ wurden in „offset“ umbenannt. Stattdessen werden jetzt Lambda-Parameter anstelle von „State“ verwendet. (Ic3021, b/173594846)
- Neue APIs zum Ausführen von Animationen in coroutines (Ied662)
- Wir haben Ambients mit dem Suffix
Ambient
eingestellt und durch neue Properties mit dem Präfix „Ambient“ ersetzt, gemäß den Richtlinien für Ambients und die Compose API. (I33440) - Die Zeitsteuerung in Tests (TestAnimationClock und ihre Verwendung) ist jetzt experimentell (I6ef86, b/171378521)
- Entfernen Sie das alte UI-Test-Modul und die zugehörigen Stubs (I3a7cb).
- Die Funktion
RestorableStateHolder.withRestorableState
wurde inRestorableStateProvider
umbenannt (I66640) - Die Benutzeroberfläche für die Ausrichtung wurde aktualisiert und funktioniert jetzt. (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 freigegeben. Version 1.0.0-alpha07 enthält diese Commits.
Fehlerkorrekturen
- Die Foundation-Elemente „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 Themenumgebungen erstellen, die in Ihren eigenen Komponenten verwendet werden können. (I74acc, b/172067770)
- foundation.Text wurde eingestellt und durch material.Text ersetzt. Eine grundlegende, neutrale Text-API, die keine Werte aus einem Design 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 zu 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
wurden 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 freigegeben. Version 1.0.0-alpha05 enthält diese Commits.
API-Änderungen
- Neue Animation – Benutzeroberfläche und Unterklassen: In diesen Klassen werden die Start- und Endbedingungen für Animationen gespeichert. So 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 verworfen und durch AmbientContentColor- und AmbientTextStyle-Ambients ersetzt. Du kannst auf den aktuellen Wert zugreifen, indem du
.current
wie bei jeder anderen Umgebungs-Property verwendest. Diese Änderung dient der Einheitlichkeit und um zu vermeiden, dass dasselbe Ziel auf mehreren Wegen erreicht werden kann. Außerdem wurden einige Umgebungseigenschaften 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
wurden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
API-Änderungen
- rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled und textInputServiceFactory mit @VisibleForTesting annotiert, zu einer internen API gemacht und ihre Kdoc ausgeblendet (I554eb, b/168308412)
Fehlerkorrekturen
- Viele Grafik-APIs wurden aktualisiert.
- Die APIs für Skalierungs- und Drehtransformationen wurden aktualisiert, sodass jetzt ein einzelner Offset-Parameter für die Drehpunktkoordinate verwendet wird, anstatt separater Gleitkommaparameter für die X-/Y-Koordinaten in DrawScope und DrawTransform.
- Die Methoden „Rect.expandToInclude“ und „Rect.join“ wurden entfernt.
- Die Dokumentation zu Radius wurde aktualisiert. Neben „elliptisch“ wird jetzt auch „oval“ verwendet.
- Die Dokumentation wurde um einen Hinweis ergänzt, dass der öffentliche Konstruktor für die Inline-Klasse „Radius“ nicht direkt aufgerufen werden darf, sondern dass Radius-Objekte stattdessen über ihre Funktionskonstruktoren erstellt werden sollten.
- RoundRect APIs zum Abfragen von „topRight“, „bottomRight“ und „bottomCenter“ wurden entfernt.
- Rect.shift wurde zugunsten von Rect.translate eingestellt
- Die APIs „RoundRect.grow“ und „Rect.shrink“ wurden entfernt.
- 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 wurde zu einer Eigenschaft anstelle einer Funktion geändert
- Der Konstruktor für RoundRect wurde aktualisiert, sodass Radiuseigenschaften anstelle einzelner Parameter für X‑/Y‑Radiuswerte verwendet werden.
- Entfernte APIs für die Größe, bei denen davon ausgegangen wurde, dass es sich um ein Rechteck mit dem Ursprung bei 0,0 handelt
- Zerstörungs-API zu Radius hinzugefügt
- Verschiedene Erweiterungsfunktionen für RoundRect wurden zu Eigenschaften migriert.
- (I8f5c7, b/168762961)
- foundation.Box wurde eingestellt. Verwenden Sie stattdessen foundation.layout.Box. (Ie5950, b/167680279)
- Stack wurde in Box umbenannt. Das bisher vorhandene Box wird zugunsten des neuen Box in compose.foundation.layout eingestellt. Das neue Feld stapelt die untergeordneten Elemente übereinander, wenn es mehrere davon hat. Das unterscheidet es vom vorherigen Feld, das sich ähnlich wie eine Spalte verhielt. (I94893, b/167680279)
- Die Parameter „Box decoration“ wurden eingestellt. Wenn Sie Ihre Box mit Verzierungen und Innenabständen versehen möchten, verwenden Sie stattdessen Modifikatoren (Modifier.background, Modifier.bound, Modifier.padding) (Ibae92, b/167680279).
- Statische Importe von Inhalten von Layoutbereichen (z.B. „alignWithSiblings“ in „RowScope“) sind nicht mehr möglich. 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 freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- Die Verwendung von „gravity“ wurde in Layout-APIs einheitlich 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 freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
Es wurde
ManualFrameClock.hasAwaiters
hinzugefügt, um zu prüfen, ob ein Frame von dieser Uhr erwartet wird.runWithManualClock
ersetztrunBlocking
bei Tests, für die eine ManualFrameClock erforderlich ist.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 wurde eingestellt. onCommit hat jetzt das Verhalten von onPreCommit.
onCommit und onActive werden jetzt in demselben Choreografen-Frame ausgeführt, in dem sich die Komposition ändert, und nicht am Anfang des nächsten Choreografen-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 freigegeben. 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
wurden 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).
Mit dem Composeable „AnimatedVisibility“ wird das Ein- und Ausblenden der untergeordneten Inhalte animiert.
EnterTransition und ExitTransition werden eingeführt, um mit der zusammensetzbaren Funktion animateVisibilty zu funktionieren, um drei verschiedene Arten von Darstellungs- und Verschwindungsanimationen bereitzustellen: Ausblenden, Verschieben und Maximieren/Verkleinern des Inhalts. Die verschiedenen Animationsarten können kombiniert werden, um ein individuelleres Erscheinungsbild zu erreichen. (Idda11)
Eingestellte PxBounds zugunsten von Rect. Alle Verwendungen von PxBounds wurden durch „rect“ ersetzt und entsprechende Anmerkungen zur Einstellung/Ersetzung wurden hinzugefügt, um die Migration zu erleichtern. (I37038, b/162627058)
Fehlerkorrekturen
PlacementScope.placeAbsolute()
wurde inPlacementScope.place()
umbenannt und das vorherigePlacementScope.place()
inPlacementScope.placeRelative()
. Daher wird die Position in Kontexten, in denen von rechts nach links geschrieben wird, mit derPlacementScope.place()
-Methode nicht mehr automatisch gespiegelt. Verwenden Sie stattdessenPlacementScope.placeRelative()
. (I873ac, b/162916675)- Die zusammensetzbare Funktion
state { ... }
wurde zugunsten expliziter Aufrufe vonremember { mutableStateOf(...) }
eingestellt. Dies reduziert die API-Oberfläche insgesamt und die Anzahl der Konzepte für die Statusverwaltung. Außerdem entspricht es dem Musterby mutableStateOf()
für die Delegierung von Klassenattributen. (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 freigegeben. 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ütze in
Modifier.animateContentSize()
den End-Listener, damit der Listener benachrichtigt wird, wenn die Größenänderungsanimation abgeschlossen ist, zusammen mit der Start-/Endgröße der Animation. (I277b2) - Neuer Modifikator „animateContentSize“, mit dem die Änderung der Layoutgröße seines untergeordneten Modifikators animiert wird (Ieffdc)
Es wurde
MonotonicFrameAnimationClock
hinzugefügt, mit dem Sie eine MonotonicFrameClock alsAnimationClockObservable
verwenden können, um die Lücke zwischen den neuen, auf Koroutinen basierenden Uhren und APIs zu schließen, die noch die alten Callback-basierten Uhren verwenden.ManualAnimationClock
entspricht jetztManualFrameClock
.MonotonicFrameClock
(I111c7, b/161247083)
Fehlerkorrekturen
- Die APIs für die Unterstützung von rechts nach links wurden aktualisiert. Die Variable „LayoutDirectionAmbient“ wurde hinzugefügt. Mit ihr 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 mit dem Paket „foundation.share“ flach dargestellt (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 das Eintippen von
Modifier.padding().background() + anotherModifier
, was die Abfolge 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
wurden 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 jetzt ein TransitionState zurückgegeben wird, anstatt den TransitionState an untergeordnete Elemente weiterzuleiten. Dadurch ist die API einheitlicher mit den animate()-APIs. (I24e38)
- Für Crossfade wurde ein Modifikatorparameter hinzugefügt (I87cfe, b/159706180)
- Verwenden Sie in den APIs der obersten Ebene „AnimationSpec“ anstelle von „AnimationBuilder“, um das Konzept der statischen Animationsspezifikation zu verdeutlichen.
- Die Transition-DSL wurde verbessert, indem die Lambda-Anforderung zum Erstellen von AnimationSpecs wie „tween“ und „spring“ entfernt wurde. Stattdessen werden die Parameter des Konstruktors direkt übernommen.
- Die Nutzerfreundlichkeit von AnimationSpec wurde verbessert, indem Konstruktoren statt Builder verwendet werden.
- Ändern Sie „duration“ und „delay“ für KeyFrames und Tween in „Int“. Dadurch werden unnötige Typumwandlungen und Methodenüberladungen vermieden, da sowohl „Long“ als auch „Int“ unterstützt werden. (Ica0b4)
- 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 Verwendung der Klasse „Size“ anstelle von „PxSize“ standardisieren. Dies bietet die Vorteile einer Inline-Klasse, bei der ein Long-Wert verwendet wird, um zwei Float-Werte für Breite und Höhe zu verpacken. (Ic0191)
- Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Positionierungsinformationen verwendet werden, sollten Sie stattdessen die Klasse „Offset“ verwenden. Dies bietet die Vorteile einer Inline-Klasse, um mit einem Long-Wert zwei Gleitkommawerte zu verpacken, die X- und Y-Achsenabweichungen als Gleitkommawerte darstellen. (I3ad98)
- Die Verwendung der Px-Klasse in verschiedenen zusammengesetzten Klassen wurde im Rahmen der umfangreichen Refaktorisierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden (I086f4)
- animate() wurde hinzugefügt für Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds und AnimationVector (Ib7518).
- Bei Überblenden ist jetzt der optionale AnimationBuilder-Parameter zulässig, um die Animation zu konfigurieren (I6d6e0).
- Alle nullablen Farbverwendungen in der API wurden durch nicht nullable ersetzt und Color.Unset wird anstelle von null verwendet (Iabaa7)
- Die Klasse „ValueHolder“ wurde entfernt. Die Klassen „AnimatedValue“ und „AnimatedFloat“ wurden umstrukturiert, um das Feld für den Animationswert abstrakt zu machen, damit Unterklassen die Aktualisierung des Werts beobachten können.
- Es wurden Modellklassen für „AnimatedValue“, „AnimatedFloat“ usw. hinzugefügt.
- Es wurde eine neue Reihe von schlanken @Composable API-Funktionen zum Animieren zwischen Werten hinzugefügt. (I79530)
- Funktionsgefährdende Änderungen an der Ambients 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 rückwärts abgespielt, wenn die Animation in RepeatableSpec oder VectorizedRepeatableSpec wiederholt wird. (Ibe0f5)
- API-Ergänzungen für „ManualAnimationClock“:
hasObservers: Boolean
und KonstruktorparameterdispatchOnSubscribe: Boolean
(Iaa134) - Es wurden APIs zum Abrufen von Minimal-/Maximalgrenzen in animateFloat hinzugefügt (Icd9cc).
Fehlerkorrekturen
runOnIdleCompose
inrunOnIdle
umbenannt (I83607)- Mehrere Test-APIs wurden umbenannt, um sie intuitiver zu gestalten. Alle findenXYZ APIs wurden in onNodeXYZ umbenannt. Alle APIs vom Typ „doXYZ“ wurden in „performXYZ“ umbenannt. (I7f164)
- Einführung von zustandslosen Animations-APIs auf niedriger Ebene. Diese APIs (I63bf7)
- Das Recompose-Komposit ist nicht mehr nützlich. Die meisten Neuzusammensetzungen sollten aufgrund von MutableState-Zuweisungen erfolgen. Für alle anderen Bereiche wird empfohlen, die
invalidate
-Funktion zu verwenden, um eine Neuzusammensetzung des aktuellen Bereichs auszulösen. (Ifc992) - Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen des umfangreichen Refaktorierungsaufwands ersetzt, bei dem für Pixelparameter nur Dp und primitive Typen verwendet werden. Vollständige Px-Klasse gelöscht (I3ff33)
- Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der umfangreichen Refactoring-Bemühungen durch Dp- und primitive Typen für Pixelparameter ersetzt (Id3434)
- Für Crossfade kann jetzt „null“ als Anfangswert verwendet werden (Iad6a4, b/155947711)
- Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen des umfangreichen Refaktorierungsaufwands ersetzt, bei dem für Pixelparameter nur Dp und primitive Typen verwendet werden (I19d02).
- CanvasScope-Implementierungen wurden konsolidiert. Es gibt jetzt nur noch DrawScope und ContentDrawScope. DrawScope wurde aktualisiert, um die Density-Oberfläche zu implementieren und LayoutDirection bereitzustellen. Die DrawScope-Unterklasse in ContentDrawScope wurde entfernt. Painter und PainterModifier wurden aktualisiert, damit sie keine RTL-Eigenschaft mehr selbst verwalten, da DrawScope diese bereits ohne manuelle Angabe bereitstellt (I1798e)
- Zusammenstellende APIs der höheren Ebene, die einen Canvas bereitstellen, wurden aktualisiert, um stattdessen CanvasScope bereitzustellen. So müssen Nutzer keine eigenen Paint-Objekte mehr verwalten. Nutzer, die weiterhin Zugriff auf einen Canvas benötigen, können die Erweiterungsmethode „drawCanvas“ verwenden. Sie bietet einen Callback, um Zeichenbefehle mit dem zugrunde liegenden Canvas auszugeben. (I80afd)
- Den Parametern „verticalGravity“ und „horizontalGravity“ wurden die Optionen „Zeile“ und „Spalte“ hinzugefügt. (I7dc5a)
- Das Modul „ui-text“ wurde in „ui-text-core“ umbenannt (I57dec).
- Verbesserungen an der DrawModifier API:
- Der Empfängerbereich für draw() wurde zu ContentDrawScope geändert.
- Alle Parameter für „draw()“ entfernt
- DrawScope hat dieselbe Oberfläche wie das bisherige CanvasScope
- ContentDrawScope verfügt über die Methode „drawContent()“ (Ibaced, b/152919067).
runOnIdleCompose
undrunOnUiThread
sind jetzt globale Funktionen anstelle von Methoden in ComposeTestRule. (Icbe8f)- [Veränderlich]Operatoren für die Deklaration von Statuseigenschaften wurden in Erweiterungen verschoben, um die Optimierung von Property Delegate-Funktionen 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-Kompositionen Er sollte entweder durch den Modifizierer „LayoutSize.Fill“ + „LayoutAlign.Center“ oder durch eines der Box- oder Stack-Kompositionen mit geeigneten Modifizierern ersetzt werden (Idf5e0).
- „LayoutFlexible“ in „LayoutWeight“ umbenannt. Der Parameter „tight“ wurde in „fill“ umbenannt. (If4738)
- Die zusammensetzbare Funktion „Opacity“ wurde durch den Modifikator „drawOpacity“ ersetzt. (I5fb62)
- Tests mit AndroidComposeTestRule stellen jetzt eine Animationsuhr im Stammverzeichnis der Komposition bereit, mit der sie manuell pausiert, fortgesetzt und fortgesetzt werden kann. (Id54c5)
- Unterstützung der Ausrichtung von rechts nach links im LayoutPadding-Modifikator (I9e8da)
- Density und DensityScope wurden in einer Benutzeroberfläche zusammengeführt. Anstelle von ambientDensity() können Sie jetzt DensityAmbient.current verwenden. Anstelle von mitDensity(density) nur mit(density) (I11cb1)
- Es wurden verschiedenen Inline-Klassentypen Kopiermethoden hinzugefügt, darunter:
- Offset
- Größe
- Radius
- Bewegung
- TransformOrigin
- Die Companion-Objektmethode „Size.copy“ wurde zugunsten der Instanzkopiemethode eingestellt (Ife290, b/159905651)
- androidx.compose.ViewComposer wurde nach androidx.ui.node.UiComposer
androidx.compose.Emittable verschoben. Es war mit ComponentNode redundant.
androidx.compose.ViewAdapters wurde entfernt. Dieser Anwendungsfall wird nicht mehr unterstützt.
Compose.composeInto wurde eingestellt. Verwende stattdessen
setContent
odersetViewContent
. Compose.disposeComposition wurde eingestellt. Verwenden Sie stattdessen die Methodedispose
auf dem vonsetContent
zurückgegebenenComposition
. androidx.compose.Compose.subcomposeInto wurde in 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)