Animation erstellen
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(API-Referenzdokumente für alle Compose-Pakete ansehen)
Letzte Aktualisierung | Stabile Version | Release Candidate | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
13. November 2024 | 1.7.5 | - | - | 1.8.0-alpha06 |
Neu
KI-PromptCompose.animation-Bibliothek auf die neueste Version aktualisieren
In der Aufforderung wird empfohlen, die compose.animation-Bibliothek auf die neueste Version zu aktualisieren. Optional werden auch Hinweise zu erforderlichen Codeanpassungen gegeben.
Führen Sie diesen Prompt in Android Studio aus, während die Datei des Versionskatalogs geöffnet ist.
Please update library compose.animation to the latest available version and inform me of any followup changes I need to make in my code.
Struktur
Compose ist eine Kombination aus sieben Maven-Gruppen-IDs in androidx
. Jede Gruppe enthält eine gezielte Teilmenge von Funktionen, für die jeweils eigene Release-Notes gelten.
In dieser Tabelle werden die Gruppen und Links zu den einzelnen Versionshinweisen erläutert.
Gruppe | Beschreibung |
---|---|
compose.animation | Sie können in ihren Jetpack Compose-Anwendungen Animationen 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 Designsystemelemente 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 | Erstellen Sie Jetpack Compose-UIs mit Material Design 3-Komponenten, der nächsten Weiterentwicklung von 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:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.7.5" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.5") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. 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-alpha06
13. November 2024
androidx.compose.animation:animation-*:1.8.0-alpha06
wird veröffentlicht. Version 1.8.0-alpha06 enthält diese Commits.
API-Änderungen
- Die Benennung des Parameters
sharedElement
wurde vonstate
insharedContentState
geändert, um für Konsistenz bei APIs für freigegebene Elemente zu sorgen. (I5694c, b/375351468) - Die
AnimatedImageVector
-API-Suite ist jetzt stabil. (I7174b, b/261436267)
Version 1.8.0-alpha05
30. Oktober 2024
androidx.compose.animation:animation-*:1.8.0-alpha05
wird veröffentlicht. Version 1.8.0-alpha05 enthält diese Commits.
Neue Funktionen
- Vorschau wird 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.
- Ein Fehler wurde behoben, der bei RTL zu einer falschen Ausrichtung von
Modifier.animateContentSize
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 Positionsänderungen innerhalb eines Vorschaubereichs. 94b9394
API-Änderungen
- Entfernen von Flags für experimentelle Funktionen bei Keyframes mit Bögen und Splines (89e1199)
Fehlerkorrekturen
placeHolderSize
-Logik überspringen, wenn keine Übereinstimmung gefunden wird (77c0160)- Wiedergabezeit in
AndroidFlingSpline
begrenzen, um Abstürze aufgrund einer nicht monoton ansteigenden Wiedergabezeit zu verhindern(9d47587) - Fehler behoben, bei dem
SharedTransitionScope
unter bestimmten Bedingungen keine Elemente anzeigte (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
wird veröffentlicht. Version 1.7.4 enthält diese Commits.
Version 1.7.3
2. Oktober 2024
androidx.compose.animation:animation-*:1.7.3
wird veröffentlicht. Version 1.7.3 enthält diese Commits.
Version 1.7.2
18. September 2024
androidx.compose.animation:animation-*:1.7.2
wird veröffentlicht. Version 1.7.2 enthält diese Commits.
Externer Beitrag
- Verhindern, dass der überspringbare Übergang
playTime
festgelegt wird, wenn kein Übergang ausgeführt wird. Viele Grüße Steven (c2e6e7e6)
Version 1.7.1
10. September 2024
- An Android-Artefakten gibt es keine Änderungen.
-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
wird veröffentlicht.
Wichtige Änderungen seit Version 1.6.0
Wichtige Änderungen in Version 1.7.0 werden in diesem Blogpost beschrieben.
Neue APIs für Übergänge mit freigegebenen Elementen
- 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 bisherigenscaleIn/OutSharedContentToBounds
APIs werden eingestellt. (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 Vorahnung 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) - Die
LookaheadScope
APIs wurden stabil gemacht. (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
wird 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
wird veröffentlicht. Version 1.7.0-beta03 enthält diese Commits.
Version 1.7.0-beta02
29. Mai 2024
androidx.compose.animation:animation-*:1.7.0-beta02
wird veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.
Version 1.7.0-beta01
14. Mai 2024
androidx.compose.animation:animation-*:1.7.0-beta01
wird veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.
API-Änderungen
- Neue
resizeModes
(ScaleToBounds
undRemeasureToBounds
) fürsharedBounds
, um zwischen 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
wird 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. 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)
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 Vorahnung 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
- In
LazyColumn
undLazyRow
wurde die Unterstützung für Animationen beim Ein- und Ausblenden von Elementen 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 Sie alle drei Animationstypen unterstützen können: Einblenden (Einblenden), Ausblenden (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 Richtung eines Pfads (I36348)
Version 1.7.0-alpha03
21. Februar 2024
androidx.compose.animation:animation-*:1.7.0-alpha03
wird veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.
Neue Funktionen
- Neuer
Modifier.animateContentSize
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
wird veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
Version 1.6
Version 1.6.8
12. Juni 2024
androidx.compose.animation:animation-*:1.6.8
wird veröffentlicht. Version 1.6.8 enthält diese Commits.
Version 1.6.7
1. Mai 2024
androidx.compose.animation:animation-*:1.6.7
wird veröffentlicht. Version 1.6.7 enthält diese Commits.
Version 1.6.6
17. April 2024
androidx.compose.animation:animation-*:1.6.6
wird veröffentlicht. Keine Änderungen seit der letzten Version
Version 1.6.5
3. April 2024
androidx.compose.animation:animation-*:1.6.5
wird veröffentlicht. Version 1.6.5 enthält diese Commits.
Version 1.6.4
20. März 2024
androidx.compose.animation:animation-*:1.6.4
wird veröffentlicht. Version 1.6.4 enthält diese Commits.
Version 1.6.3
6. März 2024
androidx.compose.animation:animation-*:1.6.3
wird veröffentlicht. Version 1.6.3 enthält diese Commits.
Version 1.6.2
21. Februar 2024
androidx.compose.animation:animation-*:1.6.2
wird veröffentlicht. Version 1.6.2 enthält diese Commits.
Version 1.6.1
7. Februar 2024
androidx.compose.animation:animation-*:1.6.1
wird veröffentlicht. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Kompatibilitätskorrektur für
KeyframesSpec
. (I2bdf3, b/322214617)
Version 1.6.0
24. Januar 2024
androidx.compose.animation:animation-*:1.6.0
wird veröffentlicht. Version 1.6.0 enthält diese Commits.
Version 1.6.0-rc01
10. Januar 2024
androidx.compose.animation:animation-*:1.6.0-rc01
wird veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.
Version 1.6.0-beta03
13. Dezember 2023
androidx.compose.animation:animation-*:1.6.0-beta03
wird veröffentlicht. Version 1.6.0-beta03 enthält diese Commits.
API-Änderungen
scaleInToFitContainer
undscaleOutToFitContainer
wurden vorübergehend ausAnimatedContentTransitionScope
entfernt, da sie 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
wird 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 beliebige n-dimensionale Werte mit monoton steigenden Splines interpolieren. Dies 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) - Implementieren Sie „equals“ und „hashcode“ für
PageSize.Fixed
. (Ie3ede, b/300134276) - Behebung eines Binärkompatibilitätsproblems mit der Änderung des Fensterabstands. (Iee695)
- Entfernen Sie die Material Core-Ebene für Material3-Chips/-Schaltflächen, da die Mikrobenchmarks ohne sie eine bessere Leistung zeigen. (I55555)
Version 1.6.0-alpha08
18. Oktober 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
wird veröffentlicht. Version 1.6.0-alpha08 enthält diese Commits.
API-Änderungen
KeyframesSpecConfig#with
wurde zugunsten vonKeyframesSpecConfig#using
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
- Für feste und scrollbare Tab-Leisten gibt es jetzt primäre und sekundäre Varianten. Sie entsprechen dem in Material3 definierten Farb- und Indikatorverhalten.
PrimaryScrollableTabRow
undSecondaryScrollableTabRow
geben 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
Die Funktionen und die Benutzeroberfläche von „Komposable Fun“ 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 zum Angeben zulässiger Eingaben für Composeables (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
wird veröffentlicht. Diese Version enthält keine Änderungen
Version 1.5.2
27. September 2023
androidx.compose.animation:animation-*:1.5.2
wird veröffentlicht. Version 1.5.2 enthält diese Commits.
Version 1.5.1
6. September 2023
androidx.compose.foundation:foundation-*:1.5.1
wird veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
- 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
wird veröffentlicht. Version 1.5.0 enthält diese Commits.
Version 1.5.0-rc01
26. Juli 2023
androidx.compose.animation:animation-*:1.5.0-rc01
wird veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Fehlerkorrekturen
Ein Problem wurde behoben, bei dem beim Aufrufen von
.value
für einen primitiven Statustyp (z. B.MutableIntState
) eine Lint-Warnung mit einer ungültigen Korrektur gemeldet wurde. Bei der Prüfung wird jetzt empfohlen, zur richtigen Property zu migrieren. (Iba953, b/287279257)Es ist eine optionale Prüfung verfügbar, mit der empfohlen wird,
mutableStateOf()
-Aufrufe zu den entsprechenden spezialisierten Typen für 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
wird 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 Federungsanimationen 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 Messrichtlinie aus dem Lookahead-Pass wiederverwendet, könnenSubcomposeLayout
-Untertypen ohne nutzerabhängige Slots wieScaffold
,TabRow
undBoxWithConstraints
standardmäßig mit Lookahead 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 wird es noch mehr Unterstützung für bestimmte Untertypen vonSubcomposeLayout
geben.
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
werden ohne Änderungen veröffentlicht. Version 1.4.1 enthält diese Commits.
Version 1.4.0
22. März 2023
androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
und androidx.compose.animation:animation-graphics:1.4.0
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
- Das Tooling-Label wird in
rememberInfiniteTransition
und allen Erweiterungsfunktionen inInfiniteTransition
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 sich nur auf Code auswirken, derwithFrameNanos
oderwithFrameMillis
direkt aufruft und Logik außerhalb des Callbacks hat, die an diese Funktionen übergeben wird und möglicherweise in die Callbacks verschoben werden muss. Beispiele für die Änderungen am Animationstest finden Sie in diesem CL. - 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
werden losgelassen. 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
werden losgelassen. 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 wurde.
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
werden losgelassen. 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
werden losgelassen. 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 derzeit 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
werden losgelassen. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Die Einstellung „Animator duration scale“ (Dauerskala des Animators) in den Entwickleroptionen wird jetzt bei der Animationskomposition 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
werden losgelassen. 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
werden losgelassen. Version 1.2.0-rc02 enthält diese Commits.
Fehlerkorrekturen
ExperimentalEasingApi
-Anmerkung zu Ease-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 Compose-Bibliotheken werden jetzt mit den Standardschnittstellenmethoden von JDK 8 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
- Die APIs für Vektorgrafiken wurden aktualisiert, sodass die richtige zusammensetzbare Anmerkung
@VectorComposable
anstelle von@UiComposable
verwendet wird (I942bc)
Version 1.2.0-alpha05
9. März 2022
androidx.compose.animation:animation:1.2.0-alpha05
, androidx.compose.animation:animation-core:1.2.0-alpha05
und androidx.compose.animation:animation-graphics:1.2.0-alpha05
werden losgelassen. 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
werden losgelassen. 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 Animatable und AnimationResult die Methoden „toString“ hinzu. (Icd3a6)
Abhängigkeitsupdates
- Jetzt hängt es von Kotlin
1.6.10
ab.
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
werden losgelassen. 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
- Im Vergleich zu Compose 1.0 wird der Layoutbereich von Materialkomponenten erweitert, um die Richtlinien für Bedienungshilfen von Material Design für die Größe von Touch-Zielelementen einzuhalten. So wird beispielsweise das Berührungsziel 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 Verhalten von Compose-Material mit dem von Material Design-Komponenten abgeglichen, was für ein einheitliches Verhalten sorgt, wenn Sie Ansichten und Compose kombinieren. Durch diese Änderung werden auch die Mindestanforderungen an die Barrierefreiheit von Touch-Zielen erfüllt, wenn Sie Ihre Benutzeroberfläche mit Compose Material-Komponenten erstellen.
- Stabile Unterstützung für den Navigationsstreifen
- Eine Reihe zuvor experimenteller APIs wird in stabile APIs überführt
- 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.- Verwenden Sie
rememberAnimatedVectorResource
anstelle vonAnimatedImageVector#painterFor
, um einAnimatedImageVector
zu rendern. (I9c300)
- Verwenden Sie
Version 1.1.0-beta04
1. Dezember 2021
androidx.compose.animation:animation:1.1.0-beta04
, androidx.compose.animation:animation-core:1.1.0-beta04
und androidx.compose.animation:animation-graphics:1.1.0-beta04
werden losgelassen. 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 bei Crossfade. Der ContentKey wird vom Animationssystem für die Gleichheitsprüfung verwendet. Daher kann eine benutzerdefinierte Differenzprüfung für Status durch Angabe des entsprechenden „contentKey“ für verschiedene Status erreicht werden.
Der 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
ist ebenfalls nicht mehr experimentell. (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
werden losgelassen. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Compose
1.1.0-alpha03
wurde so aktualisiert, dass es von Kotlin1.5.30
abhängt. (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 „infiniteRepeatable“ unterstützt, um den Startzeitpunkt zu verzögern oder die Animation vor dem Start vorzuspulen. 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 zu :compose:ui verschoben (I5eb09, b/160602714)
Version 1.0
Version 1.0.5
3. November 2021
androidx.compose.animation:animation:1.0.5
und androidx.compose.animation:animation-core:1.0.5
werden freigegeben. 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 auf Kotlin
1.5.31
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 auf Kotlin
1.5.30
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, um von Kotlin
1.5.21
abhängig zu sein.
Version 1.0.0
28. Juli 2021
androidx.compose.animation:animation:1.0.0
und androidx.compose.animation:animation-core:1.0.0
werden freigegeben. 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 Sie Android Studio Bumblebee Canary 4 oder AGP
7.1.0-alpha04
/7.1.0-alpha05
verwenden, kann der folgende Absturz auftreten: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öchten, 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.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
Was sind Profilregeln?
Profilregeln für eine Bibliothek werden in einer Textdatei
baseline-prof.txt
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 formuliert werden, um entweder auf Methoden oder Klassen ausgerichtet zu sein.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, die Parametertypen und die 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
ist eine „heiße“ Methode und sollte vorab kompiliert werden.Eine Methode mit dem Flag
S
wird beim Start aufgerufen und sollte vorab kompiliert werden, um die Kosten für die Kompilierung und Interpretation der Methode beim Start zu vermeiden.Eine Methode mit dem Flag
P
wird nach dem Start aufgerufen.Eine Klasse, die in dieser Datei vorhanden ist, wird beim Start verwendet und sollte im Heap vorab zugewiesen werden, um die Kosten für das Laden der Klasse zu vermeiden.
So funktioniert's
- 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
- Jetzt werden die Positionsänderungen von
detectDragGesures
,detectVerticalGestures
unddetectHorizontalGestures
automatisch verarbeitet. Es ist nicht mehr erforderlich, in den onDrag-Callbacks change.consumePositionChange aufzurufen (I42fc4, b/185096350, b/187320697) Modifier.onGloballyPositioned()
wurde geändert, sodass die Koordinaten dieses Modifiers in der Modifikatorkette erfasst werden, nicht die Layoutkoordinaten nach Anwendung aller Modifikatoren. 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
werden freigegeben. 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
werden freigegeben. 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 Dokumentation und in den Beispielen zu „InteractionSource“.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- Die Pakete der Methoden „smoothScrollBy“ und „scrollBy“ wurden in
androidx.compose.foundation.gestures.*
geändert (I3f7c1, b/175294473) - Größenmodifikatoren wurden umbenannt. „Modifier.width/height/size“ wurden in „requiredWidth/requiredHeight/requiredSize“ umbenannt. Modifier.preferredWidth/preferredHeight/preferredSize wurden in width/height/size umbenannt. (I5b414)
- Die Ausrichtung wurde in das Basispaket verschoben. VelocityTracker 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 das gleiche Verhalten wie zuvor zu erhalten (Ica70f, b/175294473) - Die APIs „animate“, „animatedValue“ und „AnimatedValue“ wurden entfernt (If27bc, b/177457083)
- AnimationEndReason.Interrupted wurde entfernt. CancellationException wird 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
werden freigegeben. Version 1.0.0-alpha12 enthält diese Commits.
API-Änderungen
- Für
Modifier.pointerInput
sind jetzt Schlüssel zum Speichern erforderlich, um anzugeben, wann die Coroutine 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 den „Enter/ExitTransition“, damit er „FiniteAnimationSpec“ akzeptiert. (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. Verwenden Sie stattdessenrememberSaveable { mutableStateOf(0) }
. Dieser wird automatisch gespeichert und wiederhergestellt, 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 Methode „Crossfade“ wurde aktualisiert, damit sie besser mit dem Rest des Animationssystems übereinstimmt. (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)
- „AnimatedValue/Float“ wurde 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
-Kooroutinen-Kontextelements, das in endlosen Animationen angewendet wird. Standardmäßig wird keine Richtlinie installiert, es sei denn, Sie führen Tests mitComposeTestRule
aus. (I50ec4, b/151940543) - Destrukturierungs- und copy()-Methoden wurden aus mehreren Klassen entfernt, in denen sie nur selten verwendet wurden. (I26702, b/178659281)
- Die Wiedergabezeit in der Animation ist jetzt nicht mehr auf Nanosekunden festgelegt (If776a)
- Das Artefakt „compose:runtime-dispatch“ wurde 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 Zeittyp für Animationen „Lang“ anstelle von „Betriebsdauer“ verwenden (Ie3aa7, b/177420019)
Version 1.0.0-alpha11
28. Januar 2021
androidx.compose.animation:animation:1.0.0-alpha11
und androidx.compose.animation:animation-core:1.0.0-alpha11
werden freigegeben. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Der auf TransitionDefinition basierende Übergang 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)
- Die Material-Benutzeroberflächen für zustandsorientierte Parameter werden so geändert, dass sie @Composable-Funktionen enthalten, 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)
- Der Anfangsstatus in „updateTransition“ wird jetzt unterstützt (Ifd51d)
- Dem Bild und dem Symbol wurde der Parameter „Inhaltsbeschreibung“ hinzugefügt. Sie wird verwendet, um eine Beschreibung für die Bedienungshilfen bereitzustellen (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)
- Klickbare, ausblendbare und auswählbare Elemente 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“ so geändert, dass es alle Felder von „PointerInputData“ enthält. PointerInputEvent und PointerInputEventData wurden intern gemacht, da sie in keiner öffentlichen API verwendet werden. (Ifff97, b/175142755)
Version 1.0.0-alpha10
13. Januar 2021
androidx.compose.animation:animation:1.0.0-alpha10
und androidx.compose.animation:animation-core:1.0.0-alpha10
werden 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 coroutine-basierte API
Animatable
, die für gegenseitige Ausschließlichkeit der Animationen sorgt. 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 Gültigkeitsbereich der Daten auf den Bereich eingegrenzt werden kann, in dem der Statuswert gelesen wird. (Ib179e)
Version 1.0.0-alpha09
16. Dezember 2020
androidx.compose.animation:animation:1.0.0-alpha09
und androidx.compose.animation:animation-core:1.0.0-alpha09
werden 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).
- Die APIs zum Pausieren der Eingabe per Eingabestift wurden in HandlePointerInputScope (zuvor AwaitPointerEventScope) und handlePointerInput() (zuvor 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. Verwenden Sie stattdessenModifier.then
.Color.Unset
wurde entfernt. Verwenden Sie stattdessenColor.Unspecified
.- Die Klasse
PxBounds
wurde entfernt. Verwenden Sie stattdessenRect
. - (Ie9d02, b/172562222)
- Vorübergehend 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 in Modifier.alpha umbenannt
- Modifier.drawShadow 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 anderen Richtlinien für Ambients und die Compose API. (I33440) - Die Zeitsteuerung in Tests (TestAnimationClock und ihre Verwendung) ist jetzt experimentell (I6ef86, b/171378521)
- Altes UI-Testmodul und seine Stubs entfernen (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
werden freigegeben. 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 eingestellt und durch die Umgebungen „AmbientContentColor“ und „AmbientTextStyle“ ersetzt. Wie bei allen anderen Umgebungseigenschaften können Sie mit
.current
auf den aktuellen Wert zugreifen. Diese Änderung wurde aus Gründen der Einheitlichkeit vorgenommen, um zu vermeiden, dass es mehrere Möglichkeiten gibt, dasselbe zu tun. 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
werden freigegeben. 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 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
- Radius-API zum Löschen von Elementen 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 für die Box-Dekoration wurden eingestellt. Wenn Sie Verzierungen oder Ränder für das Feld haben möchten, verwenden Sie stattdessen Modifikatoren (Modifier.background, Modifier.border, Modifier.padding). (Ibae92, b/167680279)
- Statische Importe von Inhalten von Layoutbereichen (z.B. „alignWithSiblings“ in „RowScope“) sind nicht mehr möglich. Stattdessen sollte die Alternative mit explizitem Umfang verwendet werden:
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 sehen, 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 im selben Choreograph-Frame ausgeführt, in dem die Änderungen an der Komposition vorgenommen wurden, und nicht am Anfang des nächsten Choreograph-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
werden freigegeben. Version 0.1.0-dev17 enthält diese Commits.
Neue Funktionen
API-Änderungen
- „Offset“ ist zu einer Inline-Klasse geworden (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“ wurden eingeführt, um mit dem „AnimatedVisibilty“-Composit zu arbeiten und drei verschiedene Arten von Ein- und Ausblendungsanimationen bereitzustellen: Ein- und Ausblenden, Wischen und Maximieren/Minimieren von Inhalten. Die verschiedenen Arten von Animationen können kombiniert werden, um ein individuelles Erscheinungsbild zu erzielen. (Idda11)
„PxBounds“ wurde zugunsten von „Rect“ eingestellt. 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
state { ... }
-Komponente wird zugunsten expliziter Aufrufe vonremember { mutableStateOf(...) }
eingestellt. Dadurch wird die API-Oberfläche insgesamt und die Anzahl der Konzepte für die Zustandsverwaltung reduziert. Außerdem entspricht dies demby mutableStateOf()
-Muster für die Delegation von Klasseneigenschaften. (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
- Die integrierten Vektorkonverter zum Konvertieren von integrierten Einheiten sind jetzt über
Foo.VectorConverter
zugänglich. 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 coroutinesbasierten Uhren und APIs zu schließen, die noch die alten callbackbasierten 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 zu „foundation.share“ zusammengeführt (I46491, b/161887429)
- Modifier.plus wurde eingestellt. Verwenden Sie stattdessen Modifier.then. „Dann“ ist ein stärkeres Signal für die Reihenfolge und verhindert gleichzeitig 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
werden freigegeben. Version 0.1.0-dev15 enthält diese Commits.
Aktualisierung von Abhängigkeiten
- 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 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, um mit einem Long-Wert zwei Float-Werte für Breite und Höhe zu verpacken, die als Floats dargestellt werden. (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)
- Unterstützung für animate() für „Dp“, „Px“, „Size“, „Position“, „Bounds“, „PxPosition“, „PxSize“, „PxBounds“, „IntPx“, „IntPxSize“, „IntPxPosition“, „IntPxBounds“ und „AnimationVector“ hinzugefügt (Ib7518)
- Für den Übergang wird jetzt der optionale Parameter „AnimationBuilder“ akzeptiert, um die Animation zu konfigurieren (I6d6e0).
- Alle nullablen Verwendungen von „Color“ 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 Wertaktualisierung 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) - APIs zum Abrufen von Mindest-/Höchstwerten in AnimatedFloat hinzugefügt (Icd9cc)
Fehlerkorrekturen
runOnIdleCompose
inrunOnIdle
umbenannt (I83607)- Mehrere Test-APIs wurden umbenannt, um sie intuitiver zu gestalten. Alle APIs vom Typ „findXYZ“ 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 alles andere wird empfohlen, die Funktion
invalidate
zu verwenden, um eine Neuzusammensetzung des aktuellen Bereichs auszulösen. (Ifc992) - Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen der umfangreichen Refaktorierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden. Die Px-Klasse wurde vollständig gelöscht (I3ff33).
- 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 (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 der umfangreichen Refaktorierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden (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 wurde aus ContentDrawScope entfernt. Painter und PainterModifier wurden aktualisiert, damit sie keine RTL-Eigenschaft mehr selbst verwalten, da DrawScope dies bereits ohne manuelle Angabe bereitstellt (I1798e)
- Compose 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 ein Canvas benötigen, können die Erweiterungsmethode „drawCanvas“ verwenden. Diese bietet einen Rückruf, um Zeichenbefehle für das zugrunde liegende 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 hat 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 Optimierungen von Kotlin 1.4 für die Deklaration von Eigenschaften 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) - Der Modifikator-Plus-Operator wurde durch Funktionen der werkseitigen Erweiterung 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“ (Deckkraft) wurde durch den Modifikator „drawOpacity“ ersetzt. (I5fb62)
- Tests mit AndroidComposeTestRule bieten jetzt eine Animation mit einer Uhr am Stamm der Komposition, mit der sie manuell pausiert, fortgesetzt und vor- und zurückgesprungen 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. Statt „withDensity(density)“ einfach „with(density)“ verwenden (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 in androidx.ui.node.UiComposer verschoben und androidx.compose.Emittable wurde entfernt. Es war mit ComponentNode redundant.
androidx.compose.ViewAdapters wurde entfernt. Dieser Anwendungsfall wird nicht mehr unterstützt.
Compose.composeInto wurde eingestellt. Verwenden Sie 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)