Animation erstellen
Sie können Animationen in ihren Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern.
Letzte Aktualisierung Stabile Version Release Candidate Beta-Ausgabe Alphaversion
30. Oktober 2024 1.7.5 - - 1.8.0-alpha05

Struktur

Compose ist eine Kombination aus sieben Maven-Gruppen-IDs in androidx. Jede Gruppe umfasst eine bestimmte Teilmenge von Funktionen mit jeweils eigenen Versionshinweisen.

In dieser Tabelle werden die Gruppen und Links zu den einzelnen Versionshinweisen erläutert.

GruppeBeschreibung
compose.animationSie können Animationen in ihren Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern.
compose.compiler@Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in aktivieren.
compose.foundationErstellen Sie Jetpack Compose-Anwendungen mit vorgefertigten Bausteinen und erweitern Sie die Grundlage, um eigene Designsystem-Elemente zu erstellen.
compose.materialErstellen Sie Jetpack Compose-UIs mit vorgefertigten Material Design-Komponenten. Dies ist der übergeordnete Einstiegspunkt von Compose. Er wurde entwickelt, um Komponenten bereitzustellen, die denen auf www.material.io entsprechen.
compose.material3 einfügenJetpack Compose-UIs mit Material Design 3 Components erstellen, der nächsten Entwicklung des Material Design Material 3 umfasst aktualisierte Themen und Komponenten sowie Personalisierungsfunktionen von Material You wie dynamische Farben. Es wurde so konzipiert, dass es zum neuen visuellen Stil und zur System-UI von Android 12 passt.
compose.runtimeGrundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Kernlaufzeit, auf die das Compose-Compiler-Plug-in ausgerichtet ist.
compose.uiGrundlegende Komponenten der Compose-Benutzeroberfläche, die für die Interaktion mit dem Gerät erforderlich sind, einschließlich Layout, Zeichnen und Eingabe.

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von Compose hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Cool

dependencies {
    implementation "androidx.compose.animation:animation:1.7.0"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.7.0")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.8

Version 1.8.0-alpha05

30. Oktober 2024

androidx.compose.animation:animation-*:1.8.0-alpha05 wird veröffentlicht. Version 1.8.0-alpha05 enthält diese Commits.

Neue Funktionen

  • Lookaheads werden jetzt in LazyGrid unterstützt. Dazu gehört die Unterscheidung zwischen Vorschau- und Ansatz-Pass beim Scrollen, bei der Artikelzusammensetzung/-entsorgung und bei der Artikelanimation. Außerdem wird der Vorschau-Pass als „Source of Truth“ für das Scrollen und als Ziel für die Artikelanimation verwendet.

Fehlerkorrekturen

  • Interne Status für die Größentransformation von AnimatedContent aktualisieren, wenn der Übergang neu erstellt wird. So sind die Informationen zur Zielgröße immer auf dem neuesten Stand. (b/372512085)

Version 1.8.0-alpha04

16. Oktober 2024

androidx.compose.animation:animation-*:1.8.0-alpha04 wird veröffentlicht. Version 1.8.0-alpha04 enthält diese Commits.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der dazu führte, dass einige Glättungskurven bei bestimmten Zeitbruchteilen abstürzten.
  • Es wurde ein Fehler behoben, der zu einer fehlerhaften Ausrichtung für Modifier.animateContentSize unter RTL führte. (Idae6b, b/372055503)

Version 1.8.0-alpha03

2. Oktober 2024

androidx.compose.animation:animation-*:1.8.0-alpha03 wird veröffentlicht. Version 1.8.0-alpha03 enthält diese Commits.

API-Änderungen

  • Aktualisierung der Kotlin-Version auf 1.9 (I1a14c)

Fehlerkorrekturen

  • Ein Problem bei der AnimatedContent-Größenanimation wurde behoben. Die Animation wird jetzt immer von der aktuellen Größe aus verfolgt und gestartet, um für Kontinuität zu sorgen.

Version 1.8.0-alpha02

18. September 2024

androidx.compose.animation:animation-*:1.8.0-alpha02 wird veröffentlicht. Version 1.8.0-alpha02 enthält diese Commits.

Version 1.8.0-alpha01

4. September 2024

androidx.compose.animation:animation-*:1.8.0-alpha01 wird veröffentlicht. Version 1.8.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Neue Modifier.animateBounds API zum Animieren von Größen- und Positionierungsänderungen innerhalb eines Vorschaubereichs. 94b9394

API-Änderungen

  • Experimentelle Flags für Keyframes mit Bögen und Splines entfernen (89e1199)

Fehlerkorrekturen

  • placeHolderSize-Logik überspringen, wenn keine Übereinstimmung gefunden wird (77c0160)
  • Wiedergabezeit in AndroidFlingSpline begrenzen, um Abstürze aufgrund einer nicht monoton ansteigenden Wiedergabezeit zu verhindern(9d47587)
  • Problem behoben, bei dem SharedTransitionScope unter bestimmten Bedingungen keine Elemente zeichnet (b41077b6)

Externer Beitrag

  • Verhindern, dass der überspringbare Übergang playTime festgelegt wird, wenn kein Übergang ausgeführt wird, von Steven Schoen (c2e6e7e6)

Version 1.7

Version 1.7.5

30. Oktober 2024

androidx.compose.animation:animation-*:1.7.5 wird veröffentlicht. Version 1.7.5 enthält diese Commits.

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der bei RTL zu einer falschen Ausrichtung von Modifier.animateContentSize führte. (Idae6b, b/372055503)

Version 1.7.4

16. Oktober 2024

androidx.compose.animation:animation-*:1.7.4 wurde veröffentlicht. Version 1.7.4 enthält diese Commits.

Version 1.7.3

2. Oktober 2024

androidx.compose.animation:animation-*:1.7.3 wurde veröffentlicht. Version 1.7.3 enthält diese Commits.

Version 1.7.2

18. September 2024

androidx.compose.animation:animation-*:1.7.2 wird veröffentlicht. Version 1.7.2 enthält diese Commits.

Externer Beitrag

  • Verhindern, dass der überspringbare Übergang playTime festgelegt wird, wenn kein Übergang ausgeführt wird. Vielen Dank, Steven Schoen! (c2e6e7e6)

Version 1.7.1

10. September 2024

  • Keine Änderungen an Android-Artefakten. -desktop Artefakte wurden entfernt und -jvmStubs und -linuxx64Stubs Artefakte hinzugefügt. Keines dieser Ziele ist zur Verwendung vorgesehen. Sie dienen als Platzhalter für die Arbeit mit Jetbrains Compose.

Version 1.7.0

4. September 2024

androidx.compose.animation:animation-*:1.7.0 wurde veröffentlicht.

Wichtige Änderungen seit Version 1.6.0

Wichtige Änderungen in Version 1.7.0 werden in diesem Blogpost beschrieben.

Neue APIs für die Umstellung auf freigegebene Elemente

  • Neue APIs für Übergänge zwischen freigegebenen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als für den gesamten Layoutbaum freigegeben getaggt werden. Dadurch werden sich sanft ändernde Grenzen erzeugt, wenn eine Gruppe freigegebener Inhalte verschwindet und eine andere Gruppe erscheint. (Icb0b9)
  • Neue scaleInSharedContentToBounds und scaleOutSharedContentToBounds zum Skalieren von Inhalten in sharedBounds (I731c1)
  • Die experimentelle SharedTransitionScope ist jetzt eine Schnittstelle und keine Klasse mehr. (Iaf856)
  • Neue resizeModes (ScaleToBounds und RemeasureToBounds) für sharedBounds, um zwischen Skalieren und Neuvermessen zu wählen. Die vorherigen scaleIn/OutSharedContentToBounds APIs wurden verworfen. (I0d41a)

Verbesserungen an bestehenden APIs:

  • Neuer Modifier.animateContentSize mit einem zusätzlichen Parameter für die Ausrichtung benutzerdefinierter Inhalte. (I5623a, b/269803907)
  • Neue experimentelle DeferredTargetAnimation zum Animieren von Größe, Position oder einem anderen Ziel, das bei der Instanziierung unbekannt ist. (I60745)
  • SeekableTransitionState ersetzt snapTo() durch seekTo() und fügt ein snapTo() hinzu, das den Status sofort ohne Animation in einen Zielstatus ändert.
  • Sie können jetzt einen periodicBias-Wert (Float) an keyframesWithSpline übergeben. Dadurch sind die Anfangs- und Endgeschwindigkeit des Splines gleich. Nützlich für wiederholbare Animationen mit Splines. Die Vorabglättung gibt an, wie stark die Anfangs- und Endgeschwindigkeit geändert wird, um eine Periodizität zu erreichen. (Ic1e6c, b/292114811)

Die folgenden APIs sind stabil oder wurden entfernt:

  • AnimatedVisibilityScope.transition ist jetzt eine stabile API. Modifier.animateEnterExit(..) ist jetzt auch stabil. (I6c1d1)
  • ApproachLayoutModifierNode und Modifier.approachLayout sind jetzt stabil. Die alten isMeasurementApproachComplete() und isPlacementApproachComplete() wurden durch die neuen isMeasurementApproachInProgress() und isPlacementApproachInProgress() ersetzt.
  • Die Einstellung „intermediateLayout“ wurde entfernt. (I3e91c)
  • LookaheadScope APIs sind jetzt stabil. (I21507)

Version 1.7.0-rc01

21. August 2024

androidx.compose.animation:animation-*:1.7.0-rc01 wird veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.

Version 1.7.0-beta07

7. August 2024

androidx.compose.animation:animation-*:1.7.0-beta07 wird veröffentlicht. Version 1.7.0-beta07 enthält diese Commits.

Fehlerkorrekturen

  • Behoben wurde ein Problem, bei dem SharedTransitionScope unter bestimmten Bedingungen keine Overlay-Elemente während der Umstellung zeichnete. Dies tritt in der Regel bei der Verwendung mit Navigation auf. (Id65ab, b/347520198)

Version 1.7.0-beta06

24. Juli 2024

androidx.compose.animation:animation-*:1.7.0-beta06 wurde veröffentlicht. Version 1.7.0-beta06 enthält diese Commits.

Fehlerkorrekturen

  • Es wurde behoben, dass SeekableTransition-Übergangsstatus nicht freigegeben wurden. Beobachtungen von SnapshotStateObserver 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 eines snapshotFlow korrekt gelesen werden.

Version 1.7.0-beta04

26. Juni 2024

androidx.compose.animation:animation-*:1.7.0-beta04 wird veröffentlicht. Version 1.7.0-beta04 enthält diese Commits.

Version 1.7.0-beta03

12. Juni 2024

androidx.compose.animation:animation-*:1.7.0-beta03 wurde veröffentlicht. Version 1.7.0-beta03 enthält diese Commits.

Version 1.7.0-beta02

29. Mai 2024

androidx.compose.animation:animation-*:1.7.0-beta02 wird veröffentlicht. Version 1.7.0-beta02 enthält diese Commits.

Version 1.7.0-beta01

14. Mai 2024

androidx.compose.animation:animation-*:1.7.0-beta01 wird veröffentlicht. Version 1.7.0-beta01 enthält diese Commits.

API-Änderungen

  • Neue resizeModes (ScaleToBounds und RemeasureToBounds) für sharedBounds, um zwischen Skalieren und Neuvermessen zu wählen. Die bisherigen scaleIn/OutSharedContentToBounds APIs werden eingestellt. (I0d41a)

Externer Beitrag

Version 1.7.0-alpha08

1. Mai 2024

androidx.compose.animation:animation-*:1.7.0-alpha08 wurde veröffentlicht. Version 1.7.0-alpha08 enthält diese Commits.

API-Änderungen

  • Die LookaheadScope APIs wurden stabil gemacht. (I21507)

Externer Beitrag

  • Startzeit der Animation nach SeekableTransitionState animiert/schnappt von Steven Schoen (1ca89529)

Version 1.7.0-alpha07

17. April 2024

androidx.compose.animation:animation-*:1.7.0-alpha07 wird veröffentlicht. Version 1.7.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Neue APIs für Übergänge zwischen freigegebenen Elementen warten auf Ihre Nutzung und Ihr Feedback. Diese neuen experimentellen APIs ermöglichen Tagging von Layouts, die mithilfe der bereitgestellten Modifikatoren in der Layoutstruktur gemeinsam genutzt werden. Dabei werden sich nahtlos ändernde Grenzen erzeugt, wenn ein Satz freigegebener Inhalte den Vorgang verlässt und der andere Satz eintritt. (Icb0b9)
  • Neue scaleInSharedContentToBounds und scaleOutSharedContentToBounds zum Skalieren von Inhalten in sharedBounds (I731c1)

API-Änderungen

  • AnimatedVisibilityScope.transition ist jetzt eine stabile API. Modifier.animateEnterExit(..) ist jetzt auch stabil. (I6c1d1)
  • ApproachLayoutModifierNode und Modifier.approachLayout sind jetzt stabil. Die alten isMeasurementApproachComplete() und isPlacementApproachComplete() wurden durch die neuen isMeasurementApproachInProgress() und isPlacementApproachInProgress() ersetzt.
  • Die Einstellung „intermediateLayout“ wurde entfernt. (I3e91c)
  • Sie können jetzt einen periodicBias-Wert (Float) an keyframesWithSpline übergeben. Dadurch sind die Anfangs- und Endgeschwindigkeit des Splines gleich. Nützlich für wiederholbare Animationen mit Splines. Die Vorabglättung gibt an, wie stark die Anfangs- und Endgeschwindigkeit geändert wird, um eine Periodizität zu erreichen. (Ic1e6c, b/292114811)

Fehlerkorrekturen

  • Korrektur von Über- und Unterschreitungskurven, die zuvor auf 0 bis 1 begrenzt waren (I38747)

Version 1.7.0-alpha06

3. April 2024

androidx.compose.animation:animation-*:1.7.0-alpha06 wird veröffentlicht. Version 1.7.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Die Unterstützung für Animationen für das Erscheinungsbild und das Verschwinden von Elementen wurde in LazyColumn und LazyRow hinzugefügt. Bisher war es möglich, den Modifizierer Modifier.animateItemPlacement() hinzuzufügen, um Animationen für die Platzierung (Neuanordnung) zu unterstützen. Wir haben diesen Modifikator eingestellt und einen neuen nicht experimentellen Modifikator namens Modifier.animateItem() eingeführt, mit dem alle drei Animationstypen unterstützt werden: Erscheinungsbild (Einblenden), Verschwinden (Ausblenden) und Neuanordnung. (I2d7f7, b/330152398, b/150812265)

Fehlerkorrekturen

  • Verbesserte Leistung der updateTransition API.

Version 1.7.0-alpha05

20. März 2024

androidx.compose.animation:animation-*:1.7.0-alpha05 wird veröffentlicht. Version 1.7.0-alpha05 enthält diese Commits.

API-Änderungen

  • SeekableTransitionState ersetzt snapTo() durch seekTo() und fügt ein snapTo() hinzu, das den Status sofort ohne Animation in einen Zielstatus ändert.

Version 1.7.0-alpha04

6. März 2024

androidx.compose.animation:animation-*:1.7.0-alpha04 wird veröffentlicht. Version 1.7.0-alpha04 enthält diese Commits.

API-Änderungen

  • Neue API Path.reverse() zum Umkehren der Pfadrichtung (I36348)

Version 1.7.0-alpha03

21. Februar 2024

androidx.compose.animation:animation-*:1.7.0-alpha03 wird veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Neuer Modifier.animateContentSize mit einem zusätzlichen Parameter für die Ausrichtung benutzerdefinierter Inhalte. (I5623a, b/269803907)
  • Neue experimentelle DeferredTargetAnimation zum Animieren von Größe, Position oder einem anderen Ziel, das bei der Instanziierung unbekannt ist. (I60745)

Version 1.7.0-alpha02

7. Februar 2024

androidx.compose.animation:animation-*:1.7.0-alpha02 wird veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Kompatibilitätskorrektur für KeyframesSpec. (I2bdf3, b/322214617)
  • Behoben wurde das Problem, dass Modifier.animateContentSize bei Verwendung in LazyList nicht richtig zurückgesetzt wurde. (I070512, b/322525716)
  • Bei Verwendung von Zeitstempeln außerhalb des zulässigen Bereichs wurde IllegalStateException auf KeyframesSpec festgelegt. (I341b8, b/322839811)

Version 1.7.0-alpha01

24. Januar 2024

androidx.compose.animation:animation-*:1.7.0-alpha01 wurde veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.

Version 1.6

Version 1.6.8

12. Juni 2024

androidx.compose.animation:animation-*:1.6.8 wird veröffentlicht. Version 1.6.8 enthält diese Commits.

Version 1.6.7

1. Mai 2024

androidx.compose.animation:animation-*:1.6.7 wird veröffentlicht. Version 1.6.7 enthält diese Commits.

Version 1.6.6

17. April 2024

androidx.compose.animation:animation-*:1.6.6 wird veröffentlicht. Keine Änderungen seit der letzten Version

Version 1.6.5

3. April 2024

androidx.compose.animation:animation-*:1.6.5 wird veröffentlicht. Version 1.6.5 enthält diese Commits.

Version 1.6.4

20. März 2024

androidx.compose.animation:animation-*:1.6.4 wird veröffentlicht. Version 1.6.4 enthält diese Commits.

Version 1.6.3

6. März 2024

androidx.compose.animation:animation-*:1.6.3 wird veröffentlicht. Version 1.6.3 enthält diese Commits.

Version 1.6.2

21. Februar 2024

androidx.compose.animation:animation-*:1.6.2 wird veröffentlicht. Version 1.6.2 enthält diese Commits.

Version 1.6.1

7. Februar 2024

androidx.compose.animation:animation-*:1.6.1 wird veröffentlicht. Version 1.6.1 enthält diese Commits.

Fehlerkorrekturen

Version 1.6.0

24. Januar 2024

androidx.compose.animation:animation-*:1.6.0 wird veröffentlicht. Version 1.6.0 enthält diese Commits.

Version 1.6.0-rc01

10. Januar 2024

androidx.compose.animation:animation-*:1.6.0-rc01 wird veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.

Version 1.6.0-beta03

13. Dezember 2023

androidx.compose.animation:animation-*:1.6.0-beta03 wurde veröffentlicht. Version 1.6.0-beta03 enthält diese Commits.

API-Änderungen

  • scaleInToFitContainer und scaleOutToFitContainer wurden vorübergehend aus AnimatedContentTransitionScope entfernt, da sie einen Vorwärtsblick erfordern. Sie sind verfügbar, wenn die Vorschau standardmäßig aktiviert ist oder in zukünftigen Releases aktiviert wird.

Version 1.6.0-beta02

29. November 2023

androidx.compose.animation:animation-*:1.6.0-beta02 wird veröffentlicht. Version 1.6.0-beta02 enthält diese Commits.

Version 1.6.0-beta01

15. November 2023

androidx.compose.animation:animation-*:1.6.0-beta01 wurde veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.

API-Änderungen

  • ExitTransition.Hold wurde in ExitTransition.KeepUntilTransitionsFinished umbenannt, um die Funktion besser zu beschreiben. (I1c490)
  • Mit keyframesWithSpline können Sie jetzt jeden n-dimensionalen Wert mithilfe von monoton steigenden Splines interpolieren. Das ist besonders nützlich, um Positionswerte wie Offset, IntOffset und DpOffset zu interpolieren. Als experimentelle API hinzugefügt.

Fehlerkorrekturen

  • Unterstützung für den Renderer für den Farbverlauf „Sweep Gradient“ in ArcLine hinzufügen (I4d5bb)
  • Implementiere Gleichheits- und Hashcode für PageSize.Fixed. (Ie3ede, b/300134276)
  • Binär-Kompatibilitätsproblem bei der Änderung von Window Inset wurde behoben. (Iee695)
  • Entferne die Materialkernschicht für den Material3-Chip/die Schaltfläche, da die Mikro-Benchmarks auch ohne sie eine bessere Leistung zeigen. (I55555)

Version 1.6.0-alpha08

18. Oktober 2023

androidx.compose.animation:animation-*:1.6.0-alpha08 wurde veröffentlicht. Version 1.6.0-alpha08 enthält diese Commits.

API-Änderungen

  • KeyframesSpecConfig#with wurde zugunsten von KeyframesSpecConfig#using eingestellt, bei dem das Builder-Muster beibehalten wird. (I1d769)

Version 1.6.0-alpha07

4. Oktober 2023

androidx.compose.animation:animation-*:1.6.0-alpha07 wird veröffentlicht. Version 1.6.0-alpha07 enthält diese Commits.

API-Änderungen

  • Tabs mit festem und scrollbarem Tab haben jetzt eine primäre und eine sekundäre Variante. Diese entsprechen der in Material3 definierten Farbe und dem Indikatorverhalten korrekt.
  • PrimaryScrollableTabRow und SecondaryScrollableTabRow zeigen jetzt den Scrollstatus an. (Iec8f5, b/260572337)

Version 1.6.0-alpha06

20. September 2023

androidx.compose.animation:animation-*:1.6.0-alpha06 wird veröffentlicht. Version 1.6.0-alpha06 enthält diese Commits.

Version 1.6.0-alpha05

6. September 2023

androidx.compose.animation:animation-*:1.6.0-alpha05 wird veröffentlicht. Version 1.6.0-alpha05 enthält diese Commits.

API-Änderungen

  • PathEasing wurde hinzugefügt, damit einer Ease-Kurve ein beliebiger Pfad zugewiesen werden kann. (Idb4b9)

Version 1.6.0-alpha04

23. August 2023

androidx.compose.animation:animation-*:1.6.0-alpha04 wird veröffentlicht. Version 1.6.0-alpha04 enthält diese Commits.

API-Änderungen

  • Fügen Sie SeekableTransitionState hinzu, damit Entwickler den Fortschritt eines Übergangs steuern können. (I8e69d)

Version 1.6.0-alpha03

9. August 2023

androidx.compose.animation:animation-*:1.6.0-alpha03 wird veröffentlicht. Version 1.6.0-alpha03 enthält diese Commits.

API-Änderungen

  • Neuer Typ von Ein-/Ausblendungsübergang, bei dem die Inhalte während der Ein-/Ausblendungsanimation anhand der Größe des animierten Containers skaliert werden. LookaheadScope Der zusammensetzbare Spaß und die Benutzeroberfläche sind jetzt stabil. (Ifb2ce)

Version 1.6.0-alpha02

26. Juli 2023

androidx.compose.animation:animation-*:1.6.0-alpha02 wird veröffentlicht. Version 1.6.0-alpha02 enthält diese Commits.

API-Änderungen

  • Neue ExitTransition.Hold, um ausgehende Inhalte in AnimatedContent anzuzeigen, bis sowohl der Ein- als auch der Ausgang abgeschlossen ist. (I5984f)
  • Zusätzliche Anmerkungen zur Angabe zulässiger Eingaben für zusammensetzbare Funktionen (I51109)

Version 1.6.0-alpha01

21. Juni 2023

androidx.compose.animation:animation-*:1.6.0-alpha01 wird veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Aktiviere die vollständige Einbindung von Modifier.animateContentSize und AnimatedVisibility in das Lookahead-System, indem du die Zielgröße im Lookahead-Pass angibst.

API-Änderungen

  • Neues Attribut in IntrinsincMeasureScope und seinen Implementierungen (z.B. MeasureScope), das angibt, ob der aktuelle Messdurchlauf ein Vorschaudurchlauf ist. (I7a812)

Fehlerkorrekturen

  • Zuweisungen für Federanimationen entfernt (Ie9431)
  • Der Name des Wertparameters für Enum.valueOf wurde geändert (Ia9b89)
  • Mehr geworfene Ausnahmen von enum valueOf (I818fe)

Version 1.5

Version 1.5.4

18. Oktober 2023

androidx.compose.animation:animation-*:1.5.4 wird veröffentlicht. Version 1.5.4 enthält diese Commits.

Version 1.5.3

4. Oktober 2023

androidx.compose.animation:animation-*:1.5.3 wurde veröffentlicht. In dieser Version wurden keine Änderungen vorgenommen

Version 1.5.2

27. September 2023

androidx.compose.animation:animation-*:1.5.2 wurde veröffentlicht. Version 1.5.2 enthält diese Commits.

Version 1.5.1

6. September 2023

androidx.compose.foundation:foundation-*:1.5.1 wird veröffentlicht. Version 1.5.1 enthält diese Commits.

Fehlerkorrekturen

  • Textfelder, in denen die Tastatur angezeigt und die Textfelder bearbeitet werden können, wenn readOnly = „wahr“ ist, wurden korrigiert. Außerdem wurde behoben, dass die Tastatur nicht angezeigt wurde, wenn readOnly während der Fokussierung von „wahr“ zu „falsch“ geändert wurde. (I34a19, b/246909589)

Version 1.5.1

6. September 2023

androidx.compose.animation:animation-*:1.5.1 wird veröffentlicht. Version 1.5.1 enthält diese Commits.

Version 1.5.0

9. August 2023

androidx.compose.animation:animation-*:1.5.0 wurde veröffentlicht. Version 1.5.0 enthält diese Commits.

Version 1.5.0-rc01

26. Juli 2023

androidx.compose.animation:animation-*:1.5.0-rc01 wird veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem wurde behoben, bei dem beim Aufrufen von .value für einen primitiven Statustyp (z. B. MutableIntState) eine Lint-Warnung mit einer ungültigen Korrektur gemeldet wurde. Bei der Prüfung wird nun empfohlen, zur richtigen Property zu migrieren. (Iba953, b/287279257)

  • Es ist eine optionale Prüfung verfügbar, mit der empfohlen wird, mutableStateOf()-Aufrufe zu den entsprechenden spezialisierten Typen für Primitive zu migrieren. Die Lint-ID lautet AutoboxingStateCreation. 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 dazu warning "AutoboxingStateCreation" wie gezeigt in der build.gradle- oder build.gradle.kts-Konfiguration Ihres Moduls (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Version 1.5.0-beta03

28. Juni 2023

androidx.compose.animation:animation-*:1.5.0-beta03 wird veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.

Version 1.5.0-beta02

7. Juni 2023

androidx.compose.animation:animation-*:1.5.0-beta02 wird veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.

Version 1.5.0-beta01

24. Mai 2023

androidx.compose.animation:animation-*:1.5.0-beta01 wurde veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.

API-Änderungen

  • Zuweisungen bei der Neuzusammensetzung, Farbanimationen und AndroidComposeView (Ib2bfa) entfernt

Fehlerkorrekturen

  • Zuweisungen aus Federanimationen entfernt (Ie9431)

Version 1.5.0-alpha04

10. Mai 2023

androidx.compose.animation:animation-*:1.5.0-alpha04 wird veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.

API-Änderungen

  • ContentKey wird jetzt in AnimatedContent 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 in LookaheadScope So können SubcomposeLayouts-Anzeigen ohne bedingte Slots (z. B. TabRow, Scaffold, BoxWithConstraints usw.) gut mit Vorschauanimationen funktionieren.

API-Änderungen

  • Mit der neuen Standard-intermediateMeasurePolicy, die die Messungsrichtlinie aus dem Lookahead-Pass wiederverwendet, können SubcomposeLayout-Untertypen ohne bedingte Slots wie Scaffold, TabRow und BoxWithConstraints standardmäßig mit Lookaheads verwendet werden. (Id84c8)
  • Benenne das Infix „fun with“ in „togetherWith“ um, um Ein- und Ausblendübergänge zu kombinieren. Neue AnimatedContentScope 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 kann SubcomposeLayout in einem LookaheadScope ordnungsgemäß funktionieren. Demnächst werden bestimmte SubcomposeLayout-Subtypen sofort unterstützt.

API-Änderungen

  • Neue SubcomposeLayout API mit einer zusätzlichen Richtlinie für Zwischenmesswerte zur Verarbeitung der Mess-/Layoutlogik bei lookahead-basierten Animationen. (I017d3)

Version 1.5.0-alpha01

22. März 2023

androidx.compose.animation:animation-*:1.5.0-alpha01 wird veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.

API-Änderungen

  • AnimatedContent APIs sind jetzt stabil. AnimatedContentScope wurde in AnimatedContentTransitionScope umbenannt. scaleIn und scaleOut sind jetzt stabile APIs. (Iaf54e)

Version 1.4

Version 1.4.3

3. Mai 2023

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 und androidx.compose.animation:animation-graphics:1.4.3 werden ohne Änderungen veröffentlicht (nur eine Versionsaktualisierung).

Version 1.4.2

19. April 2023

androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 und androidx.compose.animation:animation-graphics:1.4.2 werden ohne Änderungen veröffentlicht. Version 1.4.2 enthält diese Commits.

Version 1.4.1

5. April 2023

androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 und androidx.compose.animation:animation-graphics:1.4.1 wurden ohne Änderungen veröffentlicht. Version 1.4.1 enthält diese Commits.

Version 1.4.0

22. März 2023

androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 und androidx.compose.animation:animation-graphics:1.4.0 werden losgelassen. Version 1.4.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.3.0

  • Das Tooling-Label wird in rememberInfiniteTransition und allen Erweiterungsfunktionen für InfiniteTransition und Transition (z.B. InfiniteTransition#animateColor) unterstützt (I56ef7)

Version 1.4.0-rc01

8. März 2023

androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01 und androidx.compose.animation:animation-graphics:1.4.0-rc01 werden ohne Änderungen veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.

Version 1.4.0-beta02

22. Februar 2023

androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02 und androidx.compose.animation:animation-graphics:1.4.0-beta02 werden ohne Änderungen veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.

Version 1.4.0-beta01

8. Februar 2023

androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01 und androidx.compose.animation:animation-graphics:1.4.0-beta01 werden ohne Änderungen veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

Version 1.4.0-alpha05

25. Januar 2023

androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05 und androidx.compose.animation:animation-graphics:1.4.0-alpha05 werden losgelassen. Version 1.4.0-alpha05 enthält diese Commits.

Änderungen

  • Keine Änderungen an den Animationsbibliotheken seit der letzten Alphaversion, nur Versionsaktualisierung

Version 1.4.0-alpha04

11. Januar 2023

androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04 und androidx.compose.animation:animation-graphics:1.4.0-alpha04 werden losgelassen. Version 1.4.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Tool-Labels werden in rememberInfiniteTransition und allen Erweiterungsfunktionen auf InfiniteTransition und Transition unterstützt (z.B. InfiniteTransition#animateColor) (I56ef7)

API-Änderungen

  • Die APIs InfiniteTransition#TransitionAnimationState und InfiniteTransition#animations sind jetzt öffentlich. (I36682)

Version 1.4.0-alpha03

7. Dezember 2022

androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 und androidx.compose.animation:animation-graphics:1.4.0-alpha03 werden losgelassen. Version 1.4.0-alpha03 enthält diese Commits.

API-Änderungen

  • In UI-Tests mit einer Compose-Regel werden Fortsetzungen, die während withFrameNanos-Callbacks fortgesetzt wurden, erst gesendet, nachdem alle Frame-Callbacks ausgeführt wurden. Das entspricht dem Verhalten von compose bei normalem Ausführen. Tests, die auf dem alten Verhalten basieren, können jedoch fehlschlagen. Dies sollte nur Code betreffen, der withFrameNanos oder withFrameMillis direkt aufruft und bei dem die Logik außerhalb des Callbacks an die Funktionen übergeben wird, die möglicherweise innerhalb der Callbacks verschoben werden müssen. Beispiele finden Sie in den Änderungen an den Animationstests in dieser Änderungsliste.
  • Dem Konstruktor und der Fabrikfunktion von TestMonotonicFrameClock wurde der optionale Parameter onPerformTraversals: (Long) -> Unit hinzugefügt, um Code nach withFrameNanos-Callbacks auszuführen, aber bevor die coroutines der Aufrufer fortgesetzt werden. (Idb413, b/254115946, b/222093277, b/255802670)
  • Neuer Parameter in AnimatedContent für das Tool-Label (Iebe2d)

Version 1.4.0-alpha02

9. November 2022

androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 und androidx.compose.animation:animation-graphics:1.4.0-alpha02 wurden veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.

API-Änderungen

  • Fügen Sie ToolingState hinzu, damit Tools interne Status von Composable ändern können (Ie6614)

Version 1.4.0-alpha01

24. Oktober 2022

androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 und androidx.compose.animation:animation-graphics:1.4.0-alpha01 werden losgelassen. Version 1.4.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Falsche Unterbrechungsanimation in AnimatedContent korrigiert (b/238662479)

Version 1.3

Version 1.3.3

11. Januar 2023

androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 und androidx.compose.animation:animation-graphics:1.3.3 wurden veröffentlicht. Version 1.3.3 enthält diese Commits.

  • Keine Änderungen seit dem 1. März 2022.

Version 1.3.2

7. Dezember 2022

androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 und androidx.compose.animation:animation-graphics:1.3.2 werden losgelassen. Version 1.3.2 enthält diese Commits.

Fehlerkorrekturen

  • Aktualisiert auf androidx.compose.ui 1.3.2

Version 1.3.1

9. November 2022

androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 und androidx.compose.animation:animation-graphics:1.3.1 werden losgelassen. Version 1.3.1 enthält diese Commits.

Version 1.3.0

24. Oktober 2022

androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 und androidx.compose.animation:animation-graphics:1.3.0 werden losgelassen. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

  • Neue Ease-Funktionen sind stabil

Version 1.3.0-rc01

5. Oktober 2022

androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 und androidx.compose.animation:animation-graphics:1.3.0-rc01 werden losgelassen. Version 1.3.0-rc01 enthält diese Commits.

Version 1.3.0-beta03

21. September 2022

androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 und androidx.compose.animation:animation-graphics:1.3.0-beta03 werden losgelassen. Version 1.3.0-beta03 enthält diese Commits.

  • Keine Änderungen seit 1.3.0-beta02.

Version 1.3.0-beta02

7. September 2022

androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 und androidx.compose.animation:animation-graphics:1.3.0-beta02 werden losgelassen. Version 1.3.0-beta02 enthält diese Commits.

  • Kotlin.experimental wurde aus den Compileroptionen entfernt, da es eingestellt wird.

Version 1.3.0-beta01

24. August 2022

androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 und androidx.compose.animation:animation-graphics:1.3.0-beta01 wurden veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.

Version 1.3.0-alpha03

10. August 2022

androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 und androidx.compose.animation:animation-graphics:1.3.0-alpha03 wurden veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.

API-Änderungen

  • Neuer Parameter in Crossfade, animateAsState und Animatable für Tool-Label (Iac08a)
  • Die Funktion atFraction wurde hinzugefügt, um Keyframes an einem Bruchteil statt an einer bestimmten Dauer zu definieren. (I20c76, b/232059455)

Version 1.3.0-alpha02

27. Juli 2022

androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 und androidx.compose.animation:animation-graphics:1.3.0-alpha02 werden losgelassen. Version 1.3.0-alpha02 enthält diese Commits.

Version 1.3.0-alpha01

29. Juni 2022

androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 und androidx.compose.animation:animation-graphics:1.3.0-alpha01 werden losgelassen. Version 1.3.0-alpha01 enthält diese Commits.

API-Änderungen

  • Neue LookaheadLayout, die einen Vorlauf vor dem tatsächlichen Mess-/Layout unterstützt. So kann das Layout bei Änderungen vorab berechnet werden. Gleichzeitig kann das Mess-/Layout nach dem Vorschauzeitraum die vorab berechnete Größe/Position verwenden, um die Größe und Positionen in Richtung des Ziels zu animieren. SubcomposeLayouts werden noch nicht unterstützt, aber in einer kommenden Version. (I477f5)

Version 1.2

Version 1.2.1

10. August 2022

androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 und androidx.compose.animation:animation-graphics:1.2.1 werden losgelassen. Version 1.2.1 enthält diese Commits.

Version 1.2.0

27. Juli 2022

androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 und androidx.compose.animation:animation-graphics:1.2.0 wurden veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • Bei der Erstellung von Animationen wird jetzt in den Entwickleroptionen die Einstellung für die Skala der Animatordauer unterstützt.
  • Eine große Auswahl neuer experimenteller Glättungskurven.
  • AnimatedImageVector unterstützt jetzt repeatCount und repeatMode

Version 1.2.0-rc03

29. Juni 2022

androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 und androidx.compose.animation:animation-graphics:1.2.0-rc03 wurden veröffentlicht. Version 1.2.0-rc03 enthält diese Commits.

  • Keine Änderungen seit 1.2.0-rc02.

Version 1.2.0-rc02

22. Juni 2022

androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 und androidx.compose.animation:animation-graphics:1.2.0-rc02 wurden veröffentlicht. Version 1.2.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • ExperimentalEasingApi-Anmerkung zu Easing-Funktionen entfernt (Ied441)

Version 1.2.0-rc01

15. Juni 2022

androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 und androidx.compose.animation:animation-graphics:1.2.0-rc01 werden losgelassen. Version 1.2.0-rc01 enthält diese Commits.

API-Änderungen

  • Schnittstellen in Erstellungsbibliotheken werden jetzt mit jdk8-Standardschnittstellenmethoden erstellt (I5bcf1).

Version 1.2.0-beta03

1. Juni 2022

androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 und androidx.compose.animation:animation-graphics:1.2.0-beta03 werden losgelassen. Version 1.2.0-beta03 enthält diese Commits.

API-Änderungen

  • Es wurden experimentelle Glättungskurven für Animationen hinzugefügt (I64a38).

Version 1.2.0-beta02

18. Mai 2022

androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 und androidx.compose.animation:animation-graphics:1.2.0-beta02 werden losgelassen. Version 1.2.0-beta02 enthält diese Commits.

Version 1.2.0-beta01

11. Mai 2022

androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 und androidx.compose.animation:animation-graphics:1.2.0-beta01 werden losgelassen. Version 1.2.0-beta01 enthält diese Commits.

  • Dies ist die erste Betaversion von 1.2. Es gibt keine Änderungen seit der letzten Alphaversion.

Version 1.2.0-alpha08

20. April 2022

androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 und androidx.compose.animation:animation-graphics:1.2.0-alpha08 werden losgelassen. Version 1.2.0-alpha08 enthält diese Commits.

Version 1.2.0-alpha07

6. April 2022

androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 und androidx.compose.animation:animation-graphics:1.2.0-alpha07 werden losgelassen. Version 1.2.0-alpha07 enthält diese Commits.

API-Änderungen

  • AnimatedImageVector unterstützt jetzt repeatCount und repeatMode (Ia3e75, b/199304067)

Version 1.2.0-alpha06

23. März 2022

androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 und androidx.compose.animation:animation-graphics:1.2.0-alpha06 werden losgelassen. Version 1.2.0-alpha06 enthält diese Commits.

API-Änderungen

  • Das Parsen von Vektorgrafiken wurde aktualisiert, um die automatische Spiegelung zu unterstützen, mit der der Inhalt eines VectorPainter gedreht wird, wenn die aktuelle Layoutrichtung „Rechts nach links“ ist. (I79cd9, b/185760237)

Fehlerkorrekturen

  • In den APIs für Vektorgrafiken wird jetzt die richtige zusammensetzbare Anmerkung @VectorComposable anstelle von @UiComposable verwendet (I942bc)

Version 1.2.0-alpha05

9. März 2022

androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 und androidx.compose.animation:animation-graphics:1.2.0-alpha05 wurden veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.

API-Änderungen

  • Super! Die Einstellung „Animator duration scale“ (Animationsdauerskala) in den Entwickleroptionen wird jetzt bei der Erstellung von Animationen unterstützt. (I5a4fc, b/161675988)

Version 1.2.0-alpha04

23. Februar 2022

androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 und androidx.compose.animation:animation-graphics:1.2.0-alpha04 werden losgelassen. Version 1.2.0-alpha04 enthält diese Commits.

Version 1.2.0-alpha03

9. Februar 2022

androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 und androidx.compose.animation:animation-graphics:1.2.0-alpha03 werden losgelassen. Version 1.2.0-alpha03 enthält diese Commits.

Version 1.2.0-alpha02

26. Januar 2022

androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 und androidx.compose.animation:animation-graphics:1.2.0-alpha02 wurden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Version 1.2.0-alpha01

12. Januar 2022

androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 und androidx.compose.animation:animation-graphics:1.2.0-alpha01 werden losgelassen. Version 1.2.0-alpha01 enthält diese Commits.

API-Änderungen

  • Verwenden Sie AnimatedImageVector.animatedVectorResource anstelle von animatedVectorResource, um eine <animated-vector>-Ressourcendatei zu laden.
    • Verwenden Sie rememberAnimatedVectorResource anstelle von AnimatedImageVector#painterFor, um ein AnimatedImageVector zu rendern. (I9c300)

Fehlerkorrekturen

  • Fügen Sie toString-Methoden zu Animatable und AnimationResult hinzu. (Icd3a6)

Abhängigkeitsupdates

  • Jetzt abhängig von Kotlin 1.6.10.

Version 1.1

Version 1.1.1

23. Februar 2022

androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 und androidx.compose.animation:animation-graphics:1.1.1 werden losgelassen. Version 1.1.1 enthält diese Commits.

Fehlerkorrekturen

  • Fehler bei NullPointerException unter androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList beheben (aosp/1947059, b/206677462)
  • Ein Absturz, der durch den Inhalt der Zwischenablage beim Lesen aus der Zwischenablage auf Android-Geräten verursacht wurde, wurde behoben. (I06020, b/197769306)
  • RTL in LazyVerticalGrid korrigiert (aosp/1931080, b/207510535)

Version 1.1.0

9. Februar 2022

androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 und androidx.compose.animation:animation-graphics:1.1.0 wurden veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Stabile Unterstützung für den Overscroll-Effekt von Android 12
  • Verbesserungen bei der Größe von Touch-Zielen
  • In Bezug auf Compose 1.0 wird der Layoutbereich von Material-Komponenten so erweitert, dass sie den Richtlinien für Bedienungshilfen von Material für die Größe des Berührungszielbereichs entsprechen. So wird beispielsweise der Berührungszielbereich einer Schaltfläche auf eine Mindestgröße von 48 x 48 dp erweitert, auch wenn Sie die Größe der Schaltfläche kleiner festlegen. Dadurch wird das Kompositionsmaterial auf das gleiche Verhalten der Material Design-Komponenten abgestimmt, was ein einheitliches Verhalten ermöglicht, wenn du „View“ und „Compose“ mischst. Durch diese Änderung wird außerdem sichergestellt, dass beim Erstellen der Benutzeroberfläche mit „Material erstellen“-Komponenten die Mindestanforderungen für die Barrierefreiheit auf Berührungszielbereichen erfüllt sind.
  • Stabile Unterstützung für den Navigationsstreifen
  • Umstellung einer Reihe zuvor experimenteller APIs auf stabile Version
  • Unterstützung für neuere Kotlin-Versionen

Version 1.1.0-rc03

26. Januar 2022

androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 und androidx.compose.animation:animation-graphics:1.1.0-rc03 werden losgelassen. Version 1.1.0-rc03 enthält diese Commits.

Fehlerkorrekturen

  • Aktualisiert, um Compose Material 1.1.0-rc03 zu unterstützen

Version 1.1.0-rc01

15. Dezember 2021

androidx.compose.animation:animation:1.1.0-rc01 und androidx.compose.animation:animation-core:1.1.0-rc01 werden freigegeben. Version 1.1.0-rc01 enthält diese Commits.

API-Änderungen

  • Verwenden Sie AnimatedImageVector.animatedVectorResource anstelle von animatedVectorResource, um eine <animated-vector>-Ressourcendatei zu laden.
    • Verwende rememberAnimatedVectorResource anstelle von AnimatedImageVector#painterFor, um ein AnimatedImageVector zu rendern. (I9c300)

Version 1.1.0-beta04

1. Dezember 2021

androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 und androidx.compose.animation:animation-graphics:1.1.0-beta04 wurden veröffentlicht. Version 1.1.0-beta04 enthält diese Commits.

Neue Funktionen

  • Aktualisiert für die Kompatibilität mit Kotlin 1.6.0

Version 1.1.0-beta03

17. November 2021

androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 und androidx.compose.animation:animation-graphics:1.1.0-beta03 werden losgelassen. Version 1.1.0-beta03 enthält diese Commits.

API-Änderungen

  • Der neue Modifikator „Modifier.onPlaced“ wurde hinzugefügt, um die Platzierung zu erfassen. Basierend auf der beobachteten Placement-Änderung können daher weitere Änderungen am Offset des untergeordneten Modifiers vorgenommen werden. (I558fd)
  • Neue Unterstützung für „contentKey“ in Crossfade. Der ContentKey wird vom Animationssystem für die Gleichheitsprüfung verwendet. Daher ist eine benutzerdefinierte Unterscheidung von Zuständen möglich, indem ein entsprechender contentKey für verschiedene Zustände angegeben wird.

    ContentKey wird auch als Schlüssel zum Speichern und Wiederherstellen von Inhalten verwendet. (I2e055, b/197907070)

Version 1.1.0-beta02

3. November 2021

androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 und androidx.compose.animation:animation-graphics:1.1.0-beta02 werden losgelassen. Version 1.1.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Neue Animations-APIs für die Unterstützung von Tools. Insbesondere ermöglichen sie es, mithilfe von Tools die Animationen und ihre Konfigurationen in Übergängen zu prüfen. (I4116e)

Version 1.1.0-beta01

27. Oktober 2021

androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 und androidx.compose.animation:animation-graphics:1.1.0-beta01 werden losgelassen. Version 1.1.0-beta01 enthält diese Commits.

API-Änderungen

  • Neue Animations-APIs für die Unterstützung von Tools. Insbesondere ermöglichen sie es, mithilfe von Tools die Animationen und ihre Konfigurationen in Übergängen zu prüfen. (I4116e)

Version 1.1.0-alpha06

13. Oktober 2021

androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 und androidx.compose.animation:animation-graphics:1.1.0-alpha06 werden losgelassen. Version 1.1.0-alpha06 enthält diese Commits.

Version 1.1.0-alpha05

29. September 2021

androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 und androidx.compose.animation:animation-graphics:1.1.0-alpha05 werden losgelassen. Version 1.1.0-alpha05 enthält diese Commits.

API-Änderungen

  • EnterTransition, ExitTransition und einige der AnimatedVisibility APIs sind jetzt stabil. MutableTransitionState.isIdle befindet sich ebenfalls nicht mehr in der Testphase. (I5072d)

  • Bruchänderung: Lambdas in Enter/ExitTransition-Fabriken wurden an die letzte Position in der Parameterliste verschoben. (I5072d)

Version 1.1.0-alpha04

15. September 2021

androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 und androidx.compose.animation:animation-graphics:1.1.0-alpha04 werden losgelassen. Version 1.1.0-alpha04 enthält diese Commits.

Version 1.1.0-alpha03

1. September 2021

androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 und androidx.compose.animation:animation-graphics:1.1.0-alpha03 wurden veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Die Funktion „Compose“ (1.1.0-alpha03) wurde so aktualisiert, dass sie von „1.5.30“ in Kotlin abhängig ist. (I74545)

Version 1.1.0-alpha02

18. August 2021

androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 und androidx.compose.animation:animation-graphics:1.1.0-alpha02 werden losgelassen. Version 1.1.0-alpha02 enthält diese Commits.

API-Änderungen

  • StartOffset wird jetzt in Repeatable und unfiniteRepeatable unterstützt, um die Startzeit zu verzögern oder die Animation vor dem Start der Animation zu beschleunigen. Dieser Startoffset wird nicht wiederholt (Ic679f, b/195079908)
  • Neuer Übergang für das Ein- und Ausblenden von Skalen. Er kann in Kombination mit anderen Arten von Eintritts-/Austrittsübergängen verwendet werden. (I372da, b/191325593)

Version 1.1.0-alpha01

4. August 2021

androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 und androidx.compose.animation:animation-graphics:1.1.0-alpha01 werden losgelassen. Version 1.1.0-alpha01 enthält diese Commits.

API-Änderungen

  • AnimatedImageVector und die zugehörigen APIs befinden sich jetzt im neuen Modul androidx.compose.animation:animation-graphics. (I60873)

Fehlerkorrekturen

Version 1.0

Version 1.0.5

3. November 2021

androidx.compose.animation:animation:1.0.5 und androidx.compose.animation:animation-core:1.0.5 wurden veröffentlicht. Version 1.0.5 enthält diese Commits.

Fehlerkorrekturen

  • Ein Absturz beim Tracking von „derivedStateOf“-Instanzen wurde behoben. (aosp/1792247)

Version 1.0.4

13. Oktober 2021

androidx.compose.animation:animation:1.0.4 und androidx.compose.animation:animation-core:1.0.4 werden freigegeben. Version 1.0.4 enthält diese Commits.

Abhängigkeitsupdates

  • Aktualisiert, um von Kotlin 1.5.31 abhängig zu sein

Version 1.0.3

29. September 2021

androidx.compose.animation:animation:1.0.3 und androidx.compose.animation:animation-core:1.0.3 werden freigegeben. Version 1.0.3 enthält diese Commits.

Abhängigkeitsupdates

  • Aktualisiert, um von Kotlin 1.5.30 abhängig zu sein

Version 1.0.2

1. September 2021

androidx.compose.animation:animation:1.0.2 und androidx.compose.animation:animation-core:1.0.2 werden freigegeben. Version 1.0.2 enthält diese Commits.

Aktualisiert, um die Compose 1.0.2-Version zu unterstützen. „Compose 1.0.2“ ist weiterhin mit Kotlin 1.5.21 kompatibel.

Version 1.0.1

4. August 2021

androidx.compose.animation:animation:1.0.1 und androidx.compose.animation:animation-core:1.0.1 werden freigegeben. Version 1.0.1 enthält diese Commits.

Abhängigkeitsupdates

  • Aktualisiert auf Kotlin 1.5.21.

Version 1.0.0

28. Juli 2021

androidx.compose.animation:animation:1.0.0 und androidx.compose.animation:animation-core:1.0.0 wurden veröffentlicht. Version 1.0.0 enthält diese Commits.

Wichtige Funktionen von 1.0.0

Dies ist die erste stabile Version von Compose. Weitere Informationen findest du im offiziellen Compose-Release-Blog.

Bekannte Probleme

  • Wenn du Android Studio Bumblebee Canary 4 oder AGP 7.1.0-alpha04/7.1.0-alpha05 verwendest, kann es zu folgendem Absturz kommen:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    Erhöhen Sie in der build.gradle-Datei vorübergehend die minSdkVersion auf mindestens 24, um das Problem zu beheben. Dieses Problem wird in der nächsten Version von Android Studio Bumblebee und AGP 7.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 zu androidx.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 benutzerdefinierbaren ContentTransform 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 von AnimatedContent automatisch animiert, um den eingehenden Inhalten zu entsprechen. (I2c3df)
  • ManualFrameClock wurde entfernt. Wenn Sie Animationen steuern müssen, verwenden Sie stattdessen composeTestRule.mainClock. (I3c3e8, b/189951065)

Profilregeln hinzugefügt

In dieser Version werden den folgenden Compose-Modulen (I14ed6) Profilregeln hinzugefügt:

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometrie
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util-

Was sind Profilregeln?

  • Profilregeln für eine Bibliothek werden in einer Textdatei baseline-prof.txt im Verzeichnis src/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 von adb shell profman --dump-classes-and-methods ... verwendet wird. Diese Regeln können auf eine von zwei Arten auf Methoden oder Klassen ausgerichtet werden.

  • Eine Methodenregel hat das folgende Muster:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Eine Klassenregel hat das folgende Muster:

    <CLASS_DESCRIPTOR>
    
  • Hier ist <FLAGS> eines oder mehrere der Zeichen H, S und P, 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 Klasse androidx.compose.runtime.SlotTable hätte beispielsweise den Deskriptor Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> ist die Signatur der Methode und enthält den Namen sowie die Parametertypen und Rückgabetypen der Methode. Beispiel: Die Methode fun isPlaced(): Boolean von LayoutNode hat die Signatur isPlaced()Z.

  • Diese Muster können Platzhalter (**, * und ?) enthalten, damit eine einzelne Regel mehrere Methoden oder Klassen umfassen kann.

Welchen Zweck haben die Regeln?

  • Eine Methode mit dem Flag H gibt an, dass diese Methode eine "heiße" Methode ist und im Voraus kompiliert werden sollte.

  • Eine Methode mit dem Flag S wird beim Start aufgerufen und sollte vorab kompiliert werden, um die Kosten für die Kompilierung und Interpretation der Methode beim Start zu vermeiden.

  • Eine Methode mit dem Flag P wird nach dem Start aufgerufen.

  • Eine Klasse, die in dieser Datei vorhanden ist, wird beim Start verwendet und sollte im Heap vorab zugewiesen werden, um die Kosten für das Laden der Klasse zu vermeiden.

So funktioniert's

  • Diese Regeln können in Bibliotheken definiert werden und werden in AAR-Artefakten verpackt. Wenn dann eine App erstellt wird, die diese Artefakte enthält, werden diese Regeln zusammengeführt und die zusammengeführten Regeln werden verwendet, um ein kompaktes binäres ART-Profil zu erstellen, das für die App spezifisch ist. ART kann dieses Profil dann nutzen, wenn die App auf Geräten installiert wird, um einen bestimmten Teil der Anwendung vorab zu kompilieren und so die Leistung der Anwendung zu verbessern, insbesondere beim ersten Ausführen. Hinweis: Dies hat keine Auswirkungen auf debuggbare Anwendungen.

Version 1.0.0-beta08

2. Juni 2021

androidx.compose.animation:animation:1.0.0-beta08 und androidx.compose.animation:animation-core:1.0.0-beta08 werden freigegeben. Version 1.0.0-beta08 enthält diese Commits.

Fehlerkorrekturen

  • Die Positionsänderung wird jetzt für detectDragGesures, detectVerticalGestures und detectHorizontalGestures automatisch übernommen, sodass man change.consumePositionChange in den onDrag-Callbacks nicht aufrufen muss (I42fc4, b/185096350, b/187320697).
  • Modifier.onGloballyPositioned() wurde geändert, um die Koordinaten dieses Modifikators in der Modifikatorkette anzugeben, und nicht die Layoutkoordinaten, nachdem alle Modifikatoren angewendet wurden. Das bedeutet, dass jetzt die Reihenfolge der Modifikatoren darüber entscheidet, welche Koordinaten erfasst werden. (Ieb67d, b/177926591)

Version 1.0.0-beta07

18. Mai 2021

androidx.compose.animation:animation:1.0.0-beta07 und androidx.compose.animation:animation-core:1.0.0-beta07 werden freigegeben. Version 1.0.0-beta07 enthält diese Commits.

API-Änderungen

  • Neue AnimatedVisibility API, mit der die Sichtbarkeit in einer MutableTransitionState angegeben werden kann. Außerdem können die Animationsstatus über currentState und isIdle extern von AnimatedVisibility aus beobachtet werden.
    • Neue Unterstützung für die Umstellung von Kindern in YouTube Music
    • Unterstützung benutzerdefinierter Animationen für das Aus- und Einblenden in AnimatedVisibility mit AnimationScope.transition
    • Neuer Modifikator „animateEnterExit“, der für alle untergeordneten Elemente von „AnimatedVisibility“ zugänglich ist
    • Die APIs „AnimatedVisibility“, die einen initiallyVisible-Parameter annehmen, wurden eingestellt (I702f3)

Version 1.0.0-beta06

5. Mai 2021

androidx.compose.animation:animation:1.0.0-beta06 und androidx.compose.animation:animation-core:1.0.0-beta06 werden freigegeben. Version 1.0.0-beta06 enthält diese Commits.

Version 1.0.0-beta05

21. April 2021

androidx.compose.animation:animation:1.0.0-beta05 und androidx.compose.animation:animation-core:1.0.0-beta05 wurden veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.

Fehlerkorrekturen

  • Die AndroidManifest-Dateien aus „ui-test-manifest“ und „ui-tooling-data“ sind jetzt mit Android 12 kompatibel (I6f9de, b/184718994)

Version 1.0.0-beta04

7. April 2021

androidx.compose.animation:animation:1.0.0-beta04 und androidx.compose.animation:animation-core:1.0.0-beta04 werden freigegeben. Version 1.0.0-beta04 enthält diese Commits.

API-Änderungen

  • Öffentliche Instanzen von RowScope, ColumnScope, BoxScope und BoxWithConstraintsScope wurden entfernt. (I4e83e, b/181869067)

Version 1.0.0-beta03

24. März 2021

androidx.compose.animation:animation:1.0.0-beta03 und androidx.compose.animation:animation-core:1.0.0-beta03 wurden veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

Version 1.0.0-beta02

10. März 2021

androidx.compose.animation:animation:1.0.0-beta02 und androidx.compose.animation:animation-core:1.0.0-beta02 werden freigegeben. Version 1.0.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Einschränkungen für die öffentliche Nutzung experimenteller APIs erzwingen (I6aa29, b/174531520)

Version 1.0.0-beta01

24. Februar 2021

androidx.compose.animation:animation:1.0.0-beta01 und androidx.compose.animation:animation-core:1.0.0-beta01 werden freigegeben. Version 1.0.0-beta01 enthält diese Commits.

Dies ist die erste Version von Compose 1.0.0 Beta.

API-Änderungen

  • InteractionState wurde durch [Mutable]InteractionSource ersetzt
    • Oberflächen sind für das Senden / Erfassen von Interaktionsereignissen verantwortlich.
    • Anstatt interactionState = remember { InteractionState() } an Komponenten wie Button und Modifier.clickable() zu übergeben, verwenden Sie interactionSource = remember { MutableInteractionSource() }.
    • Anstatt Interaction.Pressed in interactionState sollten Sie stattdessen die Erweiterungsfunktionen von InteractionSource verwenden, z. B. InteractionSource.collectIsPressedAsState().
    • Bei komplexen Anwendungsfällen können Sie mit „InteractionSource.interactions“ den Stream der Interaktionen beobachten. Weitere Informationen finden Sie in der InteractionSource-Dokumentation und den Beispielen.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Die Pakete der Methoden „smoothScrollBy“ und „scrollBy“ wurden in androidx.compose.foundation.gestures.* geändert (I3f7c1, b/175294473)
  • Größenmodifikatoren wurden umbenannt. „Modifier.width/height/size“ wurden in „requiredWidth/requiredHeight/requiredSize“ umbenannt. „Modifier.preferredWidth/preferredHeight/preferredSize“ wurde in „Breite/Höhe/Größe“ umbenannt. (I5b414)
  • Die Ausrichtung wurde in das Basispaket verschoben. VelocirtTracker wurde von ui.gesture zu ui.input.pointer verschoben. (Iff4a8, b/175294473)
  • AnimationClockObservable und die untergeordneten Klassen wurden entfernt. AnimatedFloat wurde entfernt. (Icde52, b/177457083)
  • Modifier.draggable akzeptiert jetzt DraggableState anstelle eines einfachen Lambdas. Sie können den Status über rememberDraggableState { delta -> } erstellen, um dasselbe Verhalten wie zuvor zu erhalten (Ica70f, b/175294473)
  • Die APIs animate,animateValue und animateValue wurden entfernt (If27bc, b/177457083).
  • AnimationEndReason.Interrupted wurde entfernt. CancellationException wird geworfen, wenn die Animation unterbrochen wird. (I2cbbc, b/179695417)
  • Die TargetAnimation API wurde entfernt. (If47d1, b/177457083)

Version 1.0.0-alpha12

10. Februar 2021

androidx.compose.animation:animation:1.0.0-alpha12 und androidx.compose.animation:animation-core:1.0.0-alpha12 wurden veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.

API-Änderungen

  • Für Modifier.pointerInput ist jetzt das Speichern von Schlüsseln erforderlich, um anzugeben, wann die Koroutine zur Erkennung der Zeigereingabe für neue Abhängigkeiten neu gestartet werden soll. (I849cd)
  • „Bounds“ wurde in „DpRect“ (I4b32a) umbenannt.
  • Der Parametername für „AnimationSpec“ wurde im gesamten Animationssystem in „animationSpec“ geändert. Beschränken Sie auch Enter/ExitTransition, um FiniteAnimationSpec zu akzeptieren. (Ie47c5, b/177457083)
  • „Animatable.snapTo“ und „Animatable.stop“ sind jetzt Aussetzungsfunktionen (If4288)
  • Ähnlich wie wir zuvor state { 0 }-Kompositen entfernt und die Verwendung von remember { mutableStateOf(0) } empfohlen haben, werden wir savedInstanceState { 0 }-Kompositen entfernen. Sie sollten stattdessen rememberSaveable { mutableStateOf(0) } verwenden. Die Speicherung und Wiederherstellung erfolgen automatisch, wenn der im MutableState verwendete Typ im Bundle gespeichert werden kann. Wenn Sie zuvor ein benutzerdefiniertes Speicherobjekt übergeben haben, müssen Sie jetzt eine neue Überladung von „rememberSaveable“ mit dem Parameter stateSaver verwenden. Die Verwendung sieht dann so aus: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Die Methodensignatur von Crossfade wurde aktualisiert, damit sie mit dem Rest des Animationssystems konsistenter ist. (Ib05ed, b/177457083)
  • rememberSavedInstanceState() wurde in rememberSaveable() umbenannt und in das Paket androidx.compose.runtime.saveable verschoben. (I1366e, b/177338004)
  • RestorableStateHolder wurde in SaveableStateHolder umbenannt und in das Paket androidx.compose.runtime.saveable verschoben. Die innere Methode „RestorableStateProvider“ wurde in „SaveableStateProvider“ umbenannt. Der generische Typ wurde entfernt. Sie können also einfach „Any“ als Schlüssel übergeben. Die experimentelle Anmerkung ist nicht mehr erforderlich. (I0902e, b/174598702)
  • Die API „Modifier.animateContentSize“ wurde aktualisiert, um mit dem Rest des Animationssystems übereinzustimmen. (I0bf75, b/177457083)
  • Die Funktion „Animierter Wert/Gleitkommazahl“ wird jetzt eingestellt. Verwenden Sie stattdessen „Animatable“. (I71345, b/177457083)
  • Die Funktionen „tapGestureFilter“, „doubleTapGestureFilter“, „longPressGestureFilter“ und „pressIndicaitonGestureFilter“ wurden eingestellt. Verwenden Sie stattdessen Modifier.clickable oder Modifier.pointerInput mit der Funktion „detectTapGestures“. (I6baf9, b/175294473)
  • Einführung eines InfiniteAnimationPolicy-Kontextelements für Tasks, das bei endlosen Animationen angewendet wird. Standardmäßig ist keine Richtlinie installiert, außer beim Ausführen von Tests mit ComposeTestRule. (I50ec4, b/151940543)
  • Die Methoden zum Löschen und copy() wurden aus mehreren Klassen entfernt, in denen sie selten verwendet wurden. (I26702, b/178659281)
  • Die Wiedergabezeit in der Animation ist jetzt nicht mehr auf Nanosekunden festgelegt (If776a)
  • Das Artefakt „compose:runtime-dispatch“ wird jetzt eingestellt. MonotonicFrameClock finden Sie jetzt unter compose:runtime und AndroidUiDispatcher unter compose:ui. (Ib5c36)
  • Die Attribute Animation.isInfinite und VectorizedAnimationSpec.isInfinite wurden hinzugefügt, um anzugeben, ob eine Animation endlos ist oder nicht. Dies kann bei der Implementierung von Animationen verwendet werden, um eine spezielle Verarbeitung solcher Animationen zu ermöglichen. Es kann beispielsweise eine spezielle Meldung mit der verbleibenden Zeit angezeigt werden oder die Animation kann während der Tests abgebrochen werden, um zu verhindern, dass auf unbestimmte Zeit gewartet wird. (Iebb05, b/151940543)
  • Als Typ der Animationszeit wird Long anstelle von Verfügbarkeit verwendet (Ie3aa7, b/177420019).

Version 1.0.0-alpha11

28. Januar 2021

androidx.compose.animation:animation:1.0.0-alpha11 und androidx.compose.animation:animation-core:1.0.0-alpha11 werden freigegeben. Version 1.0.0-alpha11 enthält diese Commits.

API-Änderungen

  • Die auf TransitionDefinition basierende Transition wurde eingestellt (I0ac57)
  • Es wird ein Labelfeld für Übergänge und untergeordnete Animationen hinzugefügt, das in den Tools angezeigt wird (I619fb)
  • „animateAsState“ heißt jetzt „animateFooAsState“, wobei „Foo“ der Typ der animierten Variablen ist, z. B. „Float“, „Dp“ oder „Offset“ (Ie7e25)
  • Neue Funktion „InfiniteTransition“, mit der beliebig viele untergeordnete Animationen ausgeführt werden können. (I1da81)
  • Ändert zustandsorientierte Material-Parameteroberflächen in @Composable-Funktionen, die State<T> zurückgeben. Es wurde „Animatable.asState()“ hinzugefügt, um die Umwandlung eines Animatables in einen Status zu vereinfachen. Außerdem wird „animateElevation“ in eine Aussetzungserweiterung für „Animatable“ geändert. (If613c)

Fehlerkorrekturen

  • onCommit, onDispose und onActive wurden zugunsten der SideEffect- und DisposableEffect-APIs eingestellt (If760e)
  • Anfänglicher Status in updateTransition wird jetzt unterstützt (Ifd51d)
  • Dem Bild und dem Symbol wurde der Parameter „Inhaltsbeschreibung“ hinzugefügt. Sie wird verwendet, um Bedienungshilfen zu beschreiben (I2ac4c).
  • invalidate und compositionReference() werden jetzt zugunsten von currentRecomposeScope bzw. rememberCompositionReference eingestellt. (I583a8)
  • „Duration“ und „Uptime“ werden durch „Long milliseconds“ ersetzt. Dadurch wird die Abhängigkeit der Zeigereingabe von diesen Klassen aufgehoben. (Ia33b2, b/175142755, b/177420019)
  • Anklickbar, ein- und auswählbar können jetzt außerhalb der Komposition erstellt werden (I0a130, b/172938345, b/175294473).
  • Die Funktion „Easing“ wurde in eine funktionale Oberfläche geändert (Ib14e5)
  • Neue items(count: Int)-Factorymethode für LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) und itemsIndexed(items: List) sind jetzt Erweiterungsfunktionen und müssen bei Verwendung manuell importiert werden. Neue Erweiterungsüberladungen für Arrays: „items(items: Array)“ und „itemsIndexed(Array)“ (I803fc, b/175562574)
  • TestCoroutineDispatcher bei Tests nutzen (I532b6)
  • PointerInputData wurde entfernt und PointerInputChange geändert, um alle Felder von PointerInputData bereitzustellen. PointerInputEvent und PointerInputEventData wurden intern gemacht, da sie in keiner öffentlichen API verwendet werden. (Ifff97, b/175142755)

Version 1.0.0-alpha10

13. Januar 2021

androidx.compose.animation:animation:1.0.0-alpha10 und androidx.compose.animation:animation-core:1.0.0-alpha10 werden freigegeben. Version 1.0.0-alpha10 enthält diese Commits.

API-Änderungen

  • Velocity wurde um Komponententeile und mathematische Operationen erweitert. (Ib0447)
  • @ExperimentalTesting wurde in @ExperimentalTestApi umbenannt, um mit ähnlichen experimentellen API-Hinweisen übereinzustimmen (Ia4502, b/171464963).
  • „Position“ in „DpOffset“ umbenannt und „getDistance()“ entfernt (Ib2dfd)
  • Die öffentliche API „Any.identityHashCode()“ wurde entfernt (I025d7)

Fehlerkorrekturen

  • Neue koroutinebasierte API Animatable, die die gegenseitige Exklusivität der Animationen gewährleistet. Neue DecayAnimationSpec zur Unterstützung mehrdimensionaler Zerfallanimationen (I820f2, b/168014930)
  • animate() wurde durch animateAsState() ersetzt, das State<T> statt T zurückgibt. Dies ermöglicht eine bessere Leistung, da der Entwertungsbereich darauf eingegrenzt werden kann, wo der Statuswert gelesen wird. (Ib179e)

Version 1.0.0-alpha09

16. Dezember 2020

androidx.compose.animation:animation:1.0.0-alpha09 und androidx.compose.animation:animation-core:1.0.0-alpha09 werden freigegeben. Version 1.0.0-alpha09 enthält diese Commits.

API-Änderungen

  • Dp.VectorConverter, Position.VectorConverter usw. wurden in „animation-core“ verschoben und die alten VectorConveters eingestellt (If0c4b)
  • Es wurden eine ganze Reihe neuer Übergangs-APIs eingeführt, die noch einfacher zu verwenden sind und dynamisch hinzugefügte Animationen sowie dynamisch berechnete Animationsziele unterstützen. Diese APIs sind als experimentell gekennzeichnet, um sie leicht von der TransitionDefinition-basierten API unterscheiden zu können. (Ia7fe3)

Fehlerkorrekturen

  • Lambdas in Offset-Modifizierern geben jetzt IntOffset statt Float zurück. (Ic9ee5, b/174137212, b/174146755)
  • Die Funktionen „LazyColumnFor“, „LazyRowFor“, „LazyColumnForIndexed“ und „LazyRowForIndexed“ werden eingestellt. Verwenden Sie stattdessen LazyColumn und LazyRow (I5b48c).
  • Zum Anhalten von Zeigereingabe-APIs wurde HandlePointerInputScope in AwaitPointerEventScope und handlePointerInput() in awaitPointerEventScope() umbenannt. (Idf0a1, b/175142755)
  • Neue Funktion „infiniteRepeatable“ zum Erstellen einer InfiniteRepeatableSpec (I668e5)
  • Anmerkung zu ExperimentalPointerInput entfernt (Ia7a24)

Version 1.0.0-alpha08

2. Dezember 2020

androidx.compose.animation:animation:1.0.0-alpha08 und androidx.compose.animation:animation-core:1.0.0-alpha08 werden freigegeben. Version 1.0.0-alpha08 enthält diese Commits.

API-Änderungen

  • Es wurde eine Lint-Prüfung für die Benennung und Position von zusammensetzbaren Lambda-Parametern hinzugefügt, um die Übereinstimmung mit den Compose-Richtlinien zu prüfen. Außerdem wurden einige APIs, die children als Namen für das abschließende Lambda verwendet haben, gemäß der Lint-Prüfung und den Anleitungen zu content migriert. (Iec48e)
  • Die folgenden verworfenen APIs wurden entfernt:
    • Modifier.onPositioned wurde entfernt. Verwenden Sie stattdessen Modifier.onGloballyPositioned.
    • Modifier.onDraw wurde entfernt. Verwenden Sie stattdessen Modifier.onDrawBehind.
    • Modifier.plus wurde entfernt. Verwende Modifier.then.
    • Color.Unset wurde entfernt. Verwende Color.Unspecified.
    • Die Klasse PxBounds wurde entfernt. Verwenden Sie stattdessen Rect.
    • (Ie9d02, b/172562222)
  • Vorübergehend wurde die Option hinzugefügt, die TestAnimationClock von der MonotonicFrameClock steuern zu lassen (I1403b, b/173402197)

Fehlerkorrekturen

  • Modifier.drawLayer in Modifier.graphicsLayer umbenannt. Die zugehörigen Klassen wurden gemäß dem Feedback des API-Rates in GraphicsLayer aktualisiert. (I0bd29, b/173834241)
  • Die APIs „Modifier.scale“ und „Modifier.rotate“ wurden für drawLayer hinzugefügt.
    • Modifier.drawOpacity wurde in Modifier.alpha umbenannt.
    • "Modifier.drawShadow" wurde in "Modifier.shadow" umbenannt (I264ca, b/173208140).
  • Die Felder „Uptime“ und „Position“ von „PointerInputData“ sind jetzt nicht mehr optional. (Id468a)
  • Die Modifikatoren „offsetPx“ wurden in „offset“ umbenannt. Stattdessen werden jetzt Lambda-Parameter anstelle von „State“ verwendet. (Ic3021, b/173594846)
  • Neue APIs zum Ausführen von Animationen in coroutines (Ied662)
  • Wir haben Ambients mit dem Suffix Ambient eingestellt und durch neue Properties mit dem Präfix „Ambient“ ersetzt, gemäß den Richtlinien für Ambients und die Compose API. (I33440)
  • Die Zeitsteuerung in Tests (TestAnimationClock und ihre Verwendung) ist jetzt experimentell (I6ef86, b/171378521)
  • Entfernen Sie das alte UI-Test-Modul und die zugehörigen Stubs (I3a7cb).
  • Die Funktion RestorableStateHolder.withRestorableState wurde in RestorableStateProvider umbenannt (I66640)
  • Die Benutzeroberfläche für die Ausrichtung wurde aktualisiert und funktioniert jetzt. (I46a07, b/172311734)

Version 1.0.0-alpha07

11. November 2020

androidx.compose.animation:animation:1.0.0-alpha07 und androidx.compose.animation:animation-core:1.0.0-alpha07 werden freigegeben. Version 1.0.0-alpha07 enthält diese Commits.

Fehlerkorrekturen

  • Die Foundation-Elemente „AmbientTextStyle“, „ProvideTextStyle“ und „AmbientContentColor“ wurden eingestellt. Verwenden Sie stattdessen die neuen Versionen, die in der Materialbibliothek verfügbar sind. Für nicht-Material-Anwendungen sollten Sie stattdessen eigene Designsystem-spezifische Themenumgebungen erstellen, die in Ihren eigenen Komponenten verwendet werden können. (I74acc, b/172067770)
  • foundation.Text wurde eingestellt und durch material.Text ersetzt. Eine grundlegende, neutrale Text-API, die keine Werte aus einem Design verwendet, finden Sie unter androidx.compose.foundation.BasicText. (If64cb)
  • „MeasureResult“ wurde aus „MeasureScope“ verschoben. (Ibf96d, b/171184002)
  • Mehrere layoutbezogene Symbole wurden von androidx.compose.ui zu androidx.compose.layout.ui verschoben. (I0fa98, b/170475424)

Version 1.0.0-alpha06

28. Oktober 2020

androidx.compose.animation:animation:1.0.0-alpha06 und androidx.compose.animation:animation-core:1.0.0-alpha06 wurden veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

API-Änderungen

  • Übergänge in ComposeTestRule aktivieren; Option zum Aktivieren des blinkenden Cursors aus ComposeTestRule entfernen. (If0de3)

Version 1.0.0-alpha05

14. Oktober 2020

androidx.compose.animation:animation:1.0.0-alpha05 und androidx.compose.animation:animation-core:1.0.0-alpha05 werden freigegeben. Version 1.0.0-alpha05 enthält diese Commits.

API-Änderungen

  • Neue Animation – Benutzeroberfläche und Unterklassen: In diesen Klassen werden die Start- und Endbedingungen für Animationen gespeichert. So können Wert und Geschwindigkeit nur über die Wiedergabezeit abgefragt werden (Ie95bd, b/163329867)

Fehlerkorrekturen

  • OnPositionedModifier wurde in OnGloballyPositionedModifier umbenannt und onPositioned() in onGloballyPositioned(). (I587e8, b/169083903)
  • Die APIs „contentColor()“ und „currentTextStyle()“ werden verworfen und durch AmbientContentColor- und AmbientTextStyle-Ambients ersetzt. Du kannst auf den aktuellen Wert zugreifen, indem du .current wie bei jeder anderen Umgebungs-Property verwendest. Diese Änderung dient der Einheitlichkeit und um zu vermeiden, dass dasselbe Ziel auf mehreren Wegen erreicht werden kann. Außerdem wurden einige Umgebungseigenschaften umbenannt, um ihren Zweck besser zu beschreiben:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

Version 1.0.0-alpha04

1. Oktober 2020

androidx.compose.animation:animation:1.0.0-alpha04 und androidx.compose.animation:animation-core:1.0.0-alpha04 wurden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

API-Änderungen

  • rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled und textInputServiceFactory mit @VisibleForTesting annotiert, zu einer internen API gemacht und ihre Kdoc ausgeblendet (I554eb, b/168308412)

Fehlerkorrekturen

  • Viele Grafik-APIs wurden aktualisiert.
    • Die APIs für Skalierungs- und Drehtransformationen wurden aktualisiert, sodass jetzt ein einzelner Offset-Parameter für die Drehpunktkoordinate verwendet wird, anstatt separater Gleitkommaparameter für die X-/Y-Koordinaten in DrawScope und DrawTransform.
    • Die Methoden „Rect.expandToInclude“ und „Rect.join“ wurden entfernt.
    • Die Dokumentation zu Radius wurde aktualisiert. Neben „elliptisch“ wird jetzt auch „oval“ verwendet.
    • Die Dokumentation wurde um einen Hinweis ergänzt, dass der öffentliche Konstruktor für die Inline-Klasse „Radius“ nicht direkt aufgerufen werden darf, sondern dass Radius-Objekte stattdessen über ihre Funktionskonstruktoren erstellt werden sollten.
    • RoundRect APIs zum Abfragen von „topRight“, „bottomRight“ und „bottomCenter“ wurden entfernt.
    • Rect.shift wurde zugunsten von Rect.translate eingestellt
    • Die APIs „RoundRect.grow“ und „Rect.shrink“ wurden entfernt.
    • RoundRect.outerRect wurde in Rect.boundingRect umbenannt
    • Die Methoden „RoundRect.middleRect“, „tallMiddleRect“, „wideMiddleRect“ und „Rect.isStadium“ wurden entfernt.
    • „RoundRect.longestSide“ wurde in „RoundRect.maxDimension“ umbenannt
    • „RoundRect.shortestSide“ wurde in „RoundRect.minDimension“ umbenannt
    • RoundRect.center wurde zu einer Eigenschaft anstelle einer Funktion geändert
    • Der Konstruktor für RoundRect wurde aktualisiert, sodass Radiuseigenschaften anstelle einzelner Parameter für X‑/Y‑Radiuswerte verwendet werden.
    • Entfernte APIs für die Größe, bei denen davon ausgegangen wurde, dass es sich um ein Rechteck mit dem Ursprung bei 0,0 handelt
    • Zerstörungs-API zu Radius hinzugefügt
    • Verschiedene Erweiterungsfunktionen für RoundRect wurden zu Eigenschaften migriert.
    • (I8f5c7, b/168762961)
  • foundation.Box wurde eingestellt. Verwenden Sie stattdessen foundation.layout.Box. (Ie5950, b/167680279)
  • Stack wurde in Box umbenannt. Das bisher vorhandene Box wird zugunsten des neuen Box in compose.foundation.layout eingestellt. Das neue Feld stapelt die untergeordneten Elemente übereinander, wenn es mehrere davon hat. Das unterscheidet es vom vorherigen Feld, das sich ähnlich wie eine Spalte verhielt. (I94893, b/167680279)
  • Die Parameter „Box decoration“ wurden eingestellt. Wenn Sie Ihre Box mit Verzierungen und Innenabständen versehen möchten, verwenden Sie stattdessen Modifikatoren (Modifier.background, Modifier.bound, Modifier.padding) (Ibae92, b/167680279).
  • Statische Importe von Inhalten von Layoutbereichen (z.B. „alignWithSiblings“ in „RowScope“) sind nicht mehr möglich. Verwenden Sie stattdessen die explizite Bereichsalternative: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Version 1.0.0-alpha03

16. September 2020

androidx.compose.animation:animation:1.0.0-alpha03 und androidx.compose.animation:animation-core:1.0.0-alpha03 werden freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

Fehlerkorrekturen

  • Die Verwendung von „gravity“ wurde in Layout-APIs einheitlich in „align“ oder „alignment“ umbenannt. (I2421a, b/164077038)

Version 1.0.0-alpha02

2. September 2020

androidx.compose.animation:animation:1.0.0-alpha02 und androidx.compose.animation:animation-core:1.0.0-alpha02 werden freigegeben. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

  • Es wurde ManualFrameClock.hasAwaiters hinzugefügt, um zu prüfen, ob ein Frame von dieser Uhr erwartet wird. runWithManualClock ersetzt runBlocking 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")
        }
    }
    

    (I0a85b, b/161247083)

Fehlerkorrekturen

  • onPreCommit wurde eingestellt. onCommit hat jetzt das Verhalten von onPreCommit.

    onCommit und onActive werden jetzt in demselben Choreografen-Frame ausgeführt, in dem sich die Komposition ändert, und nicht am Anfang des nächsten Choreografen-Frames. (I70403)

Version 1.0.0-alpha01

26. August 2020

androidx.compose.animation:animation:1.0.0-alpha01 und androidx.compose.animation:animation-core:1.0.0-alpha01 werden freigegeben. Version 1.0.0-alpha01 enthält diese Commits.

Version 0.1.0-dev

Version 0.1.0-dev17

19. August 2020

androidx.compose.animation:animation:0.1.0-dev17 und androidx.compose.animation:animation-core:0.1.0-dev17 wurden veröffentlicht. Version 0.1.0-dev17 enthält diese Commits.

Neue Funktionen

API-Änderungen

  • Der Offset ist jetzt eine Inline-Klasse (Iaec70).
  • IntOffset ist jetzt eine Inline-Klasse (Iac0bf).
  • IntSize ist jetzt eine Inline-Klasse (I2bf42).
  • Mit dem Composeable „AnimatedVisibility“ wird das Ein- und Ausblenden der untergeordneten Inhalte animiert.

    EnterTransition und ExitTransition werden eingeführt, um mit der zusammensetzbaren Funktion animateVisibilty zu funktionieren, um drei verschiedene Arten von Darstellungs- und Verschwindungsanimationen bereitzustellen: Ausblenden, Verschieben und Maximieren/Verkleinern des Inhalts. Die verschiedenen Animationsarten können kombiniert werden, um ein individuelleres Erscheinungsbild zu erreichen. (Idda11)

  • Eingestellte PxBounds zugunsten von Rect. Alle Verwendungen von PxBounds wurden durch „rect“ ersetzt und entsprechende Anmerkungen zur Einstellung/Ersetzung wurden hinzugefügt, um die Migration zu erleichtern. (I37038, b/162627058)

Fehlerkorrekturen

  • PlacementScope.placeAbsolute() wurde in PlacementScope.place() umbenannt und das vorherige PlacementScope.place() in PlacementScope.placeRelative(). Daher wird die Position in Kontexten, in denen von rechts nach links geschrieben wird, mit der PlacementScope.place()-Methode nicht mehr automatisch gespiegelt. Verwenden Sie stattdessen PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Die zusammensetzbare Funktion state { ... } wurde zugunsten expliziter Aufrufe von remember { mutableStateOf(...) } eingestellt. Dies reduziert die API-Oberfläche insgesamt und die Anzahl der Konzepte für die Statusverwaltung. Außerdem entspricht es dem Muster by mutableStateOf() für die Delegierung von Klassenattributen. (Ia5727)

Version 0.1.0-dev16

5. August 2020

androidx.compose.animation:animation:0.1.0-dev16 und androidx.compose.animation:animation-core:0.1.0-dev16 werden freigegeben. Version 0.1.0-dev16 enthält diese Commits.

API-Änderungen

  • Integrierte Vektorkonverter zum Umwandeln integrierter Einheiten sind jetzt über Foo.VectorConverter verfügbar. z. B. Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter usw. (I3e273)
  • Unterstütze in Modifier.animateContentSize() den End-Listener, damit der Listener benachrichtigt wird, wenn die Größenänderungsanimation abgeschlossen ist, zusammen mit der Start-/Endgröße der Animation. (I277b2)
  • Neuer Modifikator „animateContentSize“, mit dem die Änderung der Layoutgröße seines untergeordneten Modifikators animiert wird (Ieffdc)
  • Es wurde MonotonicFrameAnimationClock hinzugefügt, mit dem Sie eine MonotonicFrameClock als AnimationClockObservable verwenden können, um die Lücke zwischen den neuen, auf Koroutinen basierenden Uhren und APIs zu schließen, die noch die alten Callback-basierten Uhren verwenden.

    ManualAnimationClock entspricht jetzt ManualFrameClock.MonotonicFrameClock (I111c7, b/161247083)

Fehlerkorrekturen

  • Die APIs für die Unterstützung von rechts nach links wurden aktualisiert. Die Variable „LayoutDirectionAmbient“ wurde hinzugefügt. Mit ihr kann die Layoutrichtung gelesen und geändert werden. Modifier.rtl und Modifier.ltr wurden entfernt. (I080b3)
  • Der Typ „T“ muss für „transitionDefinition“ explizit angegeben werden. (I1aded)
  • Das Paket „Foundation.shape.corner“ wurde mit dem Paket „foundation.share“ flach dargestellt (I46491, b/161887429).
  • Modifier.plus wurde eingestellt. Verwenden Sie stattdessen Modifier.then. „Dann“ ist ein stärkeres Signal für die Reihenfolge und verhindert gleichzeitig das Eintippen von Modifier.padding().background() + anotherModifier, was die Abfolge unterbricht und die Lesbarkeit erschwert (Iedd58, b/161529964)
  • Modifier.drawBackground wurde in Modifier.background umbenannt (I13677)

Version 0.1.0-dev15

22. Juli 2020

androidx.compose.animation:animation:0.1.0-dev15 und androidx.compose.animation:animation-core:0.1.0-dev15 wurden veröffentlicht. Version 0.1.0-dev15 enthält diese Commits.

Abhängigkeiten aktualisieren

  • Wenn Sie die 0.1.0-dev15-Version von Compose verwenden möchten, müssen Sie Ihre Abhängigkeiten gemäß den neuen Code-Snippets oben unter Abhängigkeiten deklarieren aktualisieren.

API-Änderungen

  • Die Transition API wurde geändert, sodass jetzt ein TransitionState zurückgegeben wird, anstatt den TransitionState an untergeordnete Elemente weiterzuleiten. Dadurch ist die API einheitlicher mit den animate()-APIs. (I24e38)
  • Für Crossfade wurde ein Modifikatorparameter hinzugefügt (I87cfe, b/159706180)
  • Verwenden Sie in den APIs der obersten Ebene „AnimationSpec“ anstelle von „AnimationBuilder“, um das Konzept der statischen Animationsspezifikation zu verdeutlichen.
    • Die Transition-DSL wurde verbessert, indem die Lambda-Anforderung zum Erstellen von AnimationSpecs wie „tween“ und „spring“ entfernt wurde. Stattdessen werden die Parameter des Konstruktors direkt übernommen.
    • Die Nutzerfreundlichkeit von AnimationSpec wurde verbessert, indem Konstruktoren statt Builder verwendet werden.
    • Ändern Sie „duration“ und „delay“ für KeyFrames und Tween in „Int“. Dadurch werden unnötige Typumwandlungen und Methodenüberladungen vermieden, da sowohl „Long“ als auch „Int“ unterstützt werden. (Ica0b4)
  • IntPx wurde durch Int ersetzt. IntPxPosition wurde durch IntOffset ersetzt. "IntPxSize" wurde durch "IntSize" ersetzt. (Ib7b44)
  • Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Größeninformationen verwendet werden, sollten Sie die Verwendung der Klasse „Size“ anstelle von „PxSize“ standardisieren. Dies bietet die Vorteile einer Inline-Klasse, bei der ein Long-Wert verwendet wird, um zwei Float-Werte für Breite und Höhe zu verpacken. (Ic0191)
  • Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Positionierungsinformationen verwendet werden, sollten Sie stattdessen die Klasse „Offset“ verwenden. Dies bietet die Vorteile einer Inline-Klasse, um mit einem Long-Wert zwei Gleitkommawerte zu verpacken, die X- und Y-Achsenabweichungen als Gleitkommawerte darstellen. (I3ad98)
  • Die Verwendung der Px-Klasse in verschiedenen zusammengesetzten Klassen wurde im Rahmen der umfangreichen Refaktorisierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden (I086f4)
  • animate() wurde hinzugefügt für Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds und AnimationVector (Ib7518).
  • Bei Überblenden ist jetzt der optionale AnimationBuilder-Parameter zulässig, um die Animation zu konfigurieren (I6d6e0).
  • Alle nullablen Farbverwendungen in der API wurden durch nicht nullable ersetzt und Color.Unset wird anstelle von null verwendet (Iabaa7)
  • Die Klasse „ValueHolder“ wurde entfernt. Die Klassen „AnimatedValue“ und „AnimatedFloat“ wurden umstrukturiert, um das Feld für den Animationswert abstrakt zu machen, damit Unterklassen die Aktualisierung des Werts beobachten können.
    • Es wurden Modellklassen für „AnimatedValue“, „AnimatedFloat“ usw. hinzugefügt.
    • Es wurde eine neue Reihe von schlanken @Composable API-Funktionen zum Animieren zwischen Werten hinzugefügt. (I79530)
  • Funktionsgefährdende Änderungen an der Ambients API Weitere Informationen finden Sie im Log und in der Ambient<T>-Dokumentation (I4c7ee, b/143769776).
  • Neuer Wiederholungsmodus: Rückwärts In diesem Modus wird die vorherige Iteration rückwärts abgespielt, wenn die Animation in RepeatableSpec oder VectorizedRepeatableSpec wiederholt wird. (Ibe0f5)
  • API-Ergänzungen für „ManualAnimationClock“: hasObservers: Boolean und Konstruktorparameter dispatchOnSubscribe: Boolean (Iaa134)
  • Es wurden APIs zum Abrufen von Minimal-/Maximalgrenzen in animateFloat hinzugefügt (Icd9cc).

Fehlerkorrekturen

  • runOnIdleCompose in runOnIdle umbenannt (I83607)
  • Mehrere Test-APIs wurden umbenannt, um sie intuitiver zu gestalten. Alle findenXYZ APIs wurden in onNodeXYZ umbenannt. Alle APIs vom Typ „doXYZ“ wurden in „performXYZ“ umbenannt. (I7f164)
  • Einführung von zustandslosen Animations-APIs auf niedriger Ebene. Diese APIs (I63bf7)
  • Das Recompose-Komposit ist nicht mehr nützlich. Die meisten Neuzusammensetzungen sollten aufgrund von MutableState-Zuweisungen erfolgen. Für alle anderen Bereiche wird empfohlen, die invalidate-Funktion zu verwenden, um eine Neuzusammensetzung des aktuellen Bereichs auszulösen. (Ifc992)
  • Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen des umfangreichen Refaktorierungsaufwands ersetzt, bei dem für Pixelparameter nur Dp und primitive Typen verwendet werden. Vollständige Px-Klasse gelöscht (I3ff33)
  • Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der umfangreichen Refactoring-Bemühungen durch Dp- und primitive Typen für Pixelparameter ersetzt (Id3434)
  • Für Crossfade kann jetzt „null“ als Anfangswert verwendet werden (Iad6a4, b/155947711)
  • Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen des umfangreichen Refaktorierungsaufwands ersetzt, bei dem für Pixelparameter nur Dp und primitive Typen verwendet werden (I19d02).
  • CanvasScope-Implementierungen wurden konsolidiert. Es gibt jetzt nur noch DrawScope und ContentDrawScope. DrawScope wurde aktualisiert, um die Density-Oberfläche zu implementieren und LayoutDirection bereitzustellen. Die DrawScope-Unterklasse in ContentDrawScope wurde entfernt. Painter und PainterModifier wurden aktualisiert, damit sie keine RTL-Eigenschaft mehr selbst verwalten, da DrawScope diese bereits ohne manuelle Angabe bereitstellt (I1798e)
  • Zusammenstellende APIs der höheren Ebene, die einen Canvas bereitstellen, wurden aktualisiert, um stattdessen CanvasScope bereitzustellen. So müssen Nutzer keine eigenen Paint-Objekte mehr verwalten. Nutzer, die weiterhin Zugriff auf einen Canvas benötigen, können die Erweiterungsmethode „drawCanvas“ verwenden. Sie bietet einen Callback, um Zeichenbefehle mit dem zugrunde liegenden Canvas auszugeben. (I80afd)
  • Den Parametern „verticalGravity“ und „horizontalGravity“ wurden die Optionen „Zeile“ und „Spalte“ hinzugefügt. (I7dc5a)
  • Das Modul „ui-text“ wurde in „ui-text-core“ umbenannt (I57dec).
  • Verbesserungen an der DrawModifier API:
    • Der Empfängerbereich für draw() wurde zu ContentDrawScope geändert.
    • Alle Parameter für „draw()“ entfernt
    • DrawScope hat dieselbe Oberfläche wie das bisherige CanvasScope
    • ContentDrawScope verfügt über die Methode „drawContent()“ (Ibaced, b/152919067).
  • runOnIdleCompose und runOnUiThread sind jetzt globale Funktionen anstelle von Methoden in ComposeTestRule. (Icbe8f)
  • [Veränderlich]Operatoren für die Deklaration von Statuseigenschaften wurden in Erweiterungen verschoben, um die Optimierung von Property Delegate-Funktionen in Kotlin 1.4 zu unterstützen. Anrufer müssen Importe hinzufügen, um by state { ... } oder by mutableStateOf(...) weiterhin verwenden zu können. (I5312c)
  • „ColoredRect“ wurde eingestellt. Verwenden Sie stattdessen Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
  • Modifikator plus Operator durch Factory-Erweiterungsfunktionen ersetzt (I225e4)
  • Eingestellte Center-Kompositionen Er sollte entweder durch den Modifizierer „LayoutSize.Fill“ + „LayoutAlign.Center“ oder durch eines der Box- oder Stack-Kompositionen mit geeigneten Modifizierern ersetzt werden (Idf5e0).
  • „LayoutFlexible“ in „LayoutWeight“ umbenannt. Der Parameter „tight“ wurde in „fill“ umbenannt. (If4738)
  • Die zusammensetzbare Funktion „Opacity“ wurde durch den Modifikator „drawOpacity“ ersetzt. (I5fb62)
  • Tests mit AndroidComposeTestRule stellen jetzt eine Animationsuhr im Stammverzeichnis der Komposition bereit, mit der sie manuell pausiert, fortgesetzt und fortgesetzt werden kann. (Id54c5)
  • Unterstützung der Ausrichtung von rechts nach links im LayoutPadding-Modifikator (I9e8da)
  • Density und DensityScope wurden in einer Benutzeroberfläche zusammengeführt. Anstelle von ambientDensity() können Sie jetzt DensityAmbient.current verwenden. Anstelle von mitDensity(density) nur mit(density) (I11cb1)
  • Es wurden verschiedenen Inline-Klassentypen Kopiermethoden hinzugefügt, darunter:
    • Offset
    • Größe
    • Radius
    • Bewegung
    • TransformOrigin
    • Die Companion-Objektmethode „Size.copy“ wurde zugunsten der Instanzkopiemethode eingestellt (Ife290, b/159905651)
  • androidx.compose.ViewComposer wurde nach androidx.ui.node.UiComposer androidx.compose.Emittable verschoben. Es war mit ComponentNode redundant. androidx.compose.ViewAdapters wurde entfernt. Dieser Anwendungsfall wird nicht mehr unterstützt. Compose.composeInto wurde eingestellt. Verwende stattdessen setContent oder setViewContent. Compose.disposeComposition wurde eingestellt. Verwenden Sie stattdessen die Methode dispose auf dem von setContent zurückgegebenen Composition. 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)