Animation erstellen

Sie können in ihren Jetpack Compose-Anwendungen Animationen erstellen, um die Nutzerfreundlichkeit zu verbessern.
Letzte Aktualisierung Stabile Version Release-Kandidat Beta-Ausgabe Alphaversion
11. Dezember 2024 1.7.6 - - 1.8.0-alpha07

Struktur

Compose ist eine Kombination aus sieben Maven-Gruppen-IDs in androidx. Jede Gruppe enthält eine gezielte Teilmenge von Funktionen, für die jeweils eigene Release-Notes gelten.

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

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 das Fundament, 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.material3Erstellen Sie Jetpack Compose-UIs mit Material Design 3-Komponenten, der nächsten Weiterentwicklung von Material Design. Material 3 umfasst aktualisierte Themen und Komponenten sowie Personalisierungsfunktionen von Material You wie dynamische Farben. Es wurde so konzipiert, dass es zum neuen visuellen Stil und zur System-UI von Android 12 passt.
compose.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:

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Feedback

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

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.8

Version 1.8.0-alpha07

11. Dezember 2024

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

Neue Funktionen

  • Unterstützt den Vorschau-Pass im Pager, indem der Vorschau-Pass vom Annäherungs-Pass unterschieden wird, um Elemente beizubehalten und zu scrollen. (b/371802474)

Fehlerkorrekturen

  • Ein seltener Absturz wurde behoben, bei dem ein freigegebenes Element zwar erstellt, aber nie gemessen oder platziert wurde. Das freigegebene Element muss jetzt mindestens einmal an Ort und Stelle gerendert werden, bevor es im Overlay gerendert wird. (b/371802474)

Version 1.8.0-alpha06

13. November 2024

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

API-Änderungen

  • Die Benennung des Parameters sharedElement wurde von state in sharedContentState geändert, um für Konsistenz bei APIs für freigegebene Elemente zu sorgen. (I5694c, b/375351468)
  • Die AnimatedImageVector-API-Suite ist jetzt stabil. (I7174b, b/261436267)

Version 1.8.0-alpha05

30. Oktober 2024

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

Neue Funktionen

  • Vorschau wird jetzt in LazyGrid unterstützt. Dazu gehört die Unterscheidung zwischen dem Vorschau- und dem 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, durch den einige Glättungskurven bei bestimmten Zeitbruchteilen abstürzten.
  • Ein Fehler wurde behoben, der bei RTL zu einer falschen Ausrichtung von Modifier.animateContentSize führte. (Idae6b, b/372055503)

Version 1.8.0-alpha03

2. Oktober 2024

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

API-Änderungen

  • Aktualisierung der Kotlin-Version auf 1.9 (I1a14c)

Fehlerkorrekturen

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

Version 1.8.0-alpha02

18. September 2024

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

Version 1.8.0-alpha01

4. September 2024

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

Neue Funktionen

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

API-Änderungen

  • Entfernen von Flags für experimentelle Funktionen bei Keyframes mit Bögen und Splines (89e1199)

Fehlerkorrekturen

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

Externer Beitrag

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

Version 1.7

Version 1.7.6

11. Dezember 2024

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

Version 1.7.5

30. Oktober 2024

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

Fehlerkorrekturen

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

Version 1.7.4

16. Oktober 2024

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

Version 1.7.3

2. Oktober 2024

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

Version 1.7.2

18. September 2024

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

Externer Beitrag

  • Verhindern, dass der überspringbare Übergang playTime festgelegt wird, wenn kein Übergang ausgeführt wird. Viele Grüße Steven (c2e6e7e6)

Version 1.7.1

10. September 2024

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

Version 1.7.0

4. September 2024

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

Wichtige Änderungen seit Version 1.6.0

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

Neue APIs für die Übergänge von freigegebenen Elementen

  • Neue APIs für Übergänge zwischen freigegebenen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als für den gesamten Layoutbaum freigegeben getaggt werden. Dadurch werden sich sanft ändernde Grenzen erzeugt, wenn eine Gruppe freigegebener Inhalte verschwindet und eine andere Gruppe erscheint. (Icb0b9)
  • Neue scaleInSharedContentToBounds 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 bisherigen scaleIn/OutSharedContentToBounds APIs werden eingestellt. (I0d41a)

Verbesserungen an bestehenden APIs:

  • Neuer Modifier.animateContentSize mit einem zusätzlichen Parameter für die Ausrichtung benutzerdefinierter Inhalte. (I5623a, b/269803907)
  • Neue experimentelle DeferredTargetAnimation zum Animieren von Größe, Position oder einem anderen Ziel, das bei der Instanziierung unbekannt ist. (I60745)
  • SeekableTransitionState 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(..) wurde ebenfalls stabil gemacht. (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)
  • Die LookaheadScope APIs wurden stabil gemacht. (I21507)

Version 1.7.0-rc01

21. August 2024

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

Version 1.7.0-beta07

7. August 2024

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

Fehlerkorrekturen

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

Version 1.7.0-beta06

24. Juli 2024

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

Fehlerkorrekturen

  • Es wurde behoben, dass SeekableTransition-Übergangsstatus nicht freigegeben wurden. Beobachtungen von SnapshotStateObserver werden jetzt ordnungsgemäß bereinigt, wenn der Übergang entsorgt wird. (b9c7182)
  • Behobene Grenzfälle, in denen untergeordnete Übergänge nicht ordnungsgemäß als abgeschlossen markiert 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 einer 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 wird veröffentlicht. Version 1.7.0-beta03 enthält diese Commits.

Version 1.7.0-beta02

29. Mai 2024

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

Version 1.7.0-beta01

14. Mai 2024

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

API-Änderungen

  • Neue resizeModes (ScaleToBounds 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 wird veröffentlicht. Version 1.7.0-alpha08 enthält diese Commits.

API-Änderungen

  • Die LookaheadScope APIs wurden stabil gemacht. (I21507)

Externer Beitrag

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

Version 1.7.0-alpha07

17. April 2024

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

Neue Funktionen

  • Neue APIs für Übergänge zwischen freigegebenen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als für den gesamten Layoutbaum freigegeben getaggt werden. Dadurch werden sich sanft ändernde Grenzen erzeugt, wenn eine Gruppe gemeinsam genutzter Inhalte verschwindet und eine andere Gruppe erscheint. (Icb0b9)
  • Neue scaleInSharedContentToBounds und scaleOutSharedContentToBounds zum Skalieren von Inhalten in sharedBounds (I731c1)

API-Änderungen

  • AnimatedVisibilityScope.transition ist jetzt eine stabile API. Modifier.animateEnterExit(..) wurde ebenfalls stabil gemacht. (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

  • In LazyColumn und LazyRow wurde die Unterstützung für Animationen zum Ein- und Ausblenden von Elementen 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 Sie alle drei Animationstypen unterstützen können: Einblenden (Einblenden), Ausblenden (Ausblenden) und Neuanordnen. (I2d7f7, b/330152398, b/150812265)

Fehlerkorrekturen

  • Verbesserte Leistung der updateTransition API.

Version 1.7.0-alpha05

20. März 2024

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

API-Änderungen

  • SeekableTransitionState 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 Richtung eines Pfads (I36348)

Version 1.7.0-alpha03

21. Februar 2024

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

Neue Funktionen

  • Neue 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)
  • IllegalStateException wurde bei Verwendung von Zeitstempeln außerhalb des zulässigen Bereichs auf KeyframesSpec festgelegt. (I341b8, b/322839811)

Version 1.7.0-alpha01

24. Januar 2024

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

Version 1.6

Version 1.6.8

12. Juni 2024

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

Version 1.6.7

1. Mai 2024

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

Version 1.6.6

17. April 2024

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

Version 1.6.5

3. April 2024

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

Version 1.6.4

20. März 2024

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

Version 1.6.3

6. März 2024

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

Version 1.6.2

21. Februar 2024

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

Version 1.6.1

7. Februar 2024

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

Fehlerkorrekturen

Version 1.6.0

24. Januar 2024

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

Version 1.6.0-rc01

10. Januar 2024

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

Version 1.6.0-beta03

13. Dezember 2023

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

API-Änderungen

  • scaleInToFitContainer 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 wird 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 beliebige n-dimensionale Werte mit 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)
  • Implementieren Sie „equals“ und „hashcode“ für PageSize.Fixed. (Ie3ede, b/300134276)
  • Behebung eines Binärkompatibilitätsproblems mit der Änderung des Fensterabstands. (Iee695)
  • Entfernen Sie die Material Core-Ebene für Material3-Chips/-Schaltflächen, da die Mikrobenchmarks ohne sie eine bessere Leistung zeigen. (I55555)

Version 1.6.0-alpha08

18. Oktober 2023

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

API-Änderungen

  • KeyframesSpecConfig#with wurde zugunsten 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

  • Für feste und scrollbare Tab-Leisten gibt es jetzt primäre und sekundäre Varianten. Sie entsprechen dem in Material3 definierten Farb- und Indikatorverhalten.
  • PrimaryScrollableTabRow und SecondaryScrollableTabRow geben jetzt den Scrollstatus an. (Iec8f5, b/260572337)

Version 1.6.0-alpha06

20. September 2023

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

Version 1.6.0-alpha05

6. September 2023

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

API-Änderungen

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

Version 1.6.0-alpha04

23. August 2023

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

API-Änderungen

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

Version 1.6.0-alpha03

9. August 2023

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

API-Änderungen

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

Version 1.6.0-alpha02

26. Juli 2023

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

API-Änderungen

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

Version 1.6.0-alpha01

21. Juni 2023

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

Neue Funktionen

  • Aktiviere die vollständige Einbindung von Modifier.animateContentSize 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 wird veröffentlicht. Diese Version enthält keine Änderungen

Version 1.5.2

27. September 2023

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

Version 1.5.1

6. September 2023

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

Fehlerkorrekturen

  • Textfelder, in denen die Tastatur angezeigt und die Textfelder bearbeitet werden können, wenn readOnly = „wahr“ ist, wurden korrigiert. Außerdem wurde behoben, dass die Tastatur nicht angezeigt wurde, 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 wird veröffentlicht. Version 1.5.0 enthält diese Commits.

Version 1.5.0-rc01

26. Juli 2023

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

Fehlerkorrekturen

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

  • Es ist eine optionale Prüfung verfügbar, mit der empfohlen wird, mutableStateOf()-Aufrufe zu den entsprechenden spezialisierten Typen für Primitive zu migrieren. Die Lint-ID 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 wird veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.

API-Änderungen

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

Fehlerkorrekturen

  • Zuweisungen aus Federungsanimationen entfernt (Ie9431)

Version 1.5.0-alpha04

10. Mai 2023

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

API-Änderungen

  • ContentKey wird jetzt 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 Messrichtlinie aus dem Lookahead-Pass wiederverwendet, können SubcomposeLayout-Untertypen ohne nutzerabhängige Slots wie Scaffold, TabRow und BoxWithConstraints standardmäßig mit Lookahead 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 wird es noch mehr Unterstützung für bestimmte Untertypen von SubcomposeLayout geben.

API-Änderungen

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

Version 1.5.0-alpha01

22. März 2023

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

API-Änderungen

  • AnimatedContent APIs sind jetzt stabil. AnimatedContentScope wurde 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 werden ohne Änderungen veröffentlicht. Version 1.4.1 enthält diese Commits.

Version 1.4.0

22. März 2023

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

Wichtige Änderungen seit Version 1.3.0

  • Das Tooling-Label wird in 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

  • Das Tooling-Label wird in rememberInfiniteTransition und allen Erweiterungsfunktionen in 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 sich nur auf Code auswirken, der withFrameNanos oder withFrameMillis direkt aufruft und Logik außerhalb des Callbacks hat, die an diese Funktionen übergeben wird und möglicherweise in die Callbacks verschoben werden muss. Beispiele für die Änderungen am Animationtest finden Sie in diesem CL.
  • 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 werden losgelassen. Version 1.4.0-alpha02 enthält diese Commits.

API-Änderungen

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

Version 1.4.0-alpha01

24. Oktober 2022

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

Fehlerkorrekturen

  • Falsche Unterbrechungsanimation in AnimatedContent korrigiert (b/238662479)

Version 1.3

Version 1.3.3

11. Januar 2023

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

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

Version 1.3.2

7. Dezember 2022

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

Fehlerkorrekturen

  • Aktualisiert auf androidx.compose.ui 1.3.2

Version 1.3.1

9. November 2022

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

Version 1.3.0

24. Oktober 2022

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

Wichtige Änderungen seit Version 1.2.0

  • Neue Ease-Funktionen sind stabil

Version 1.3.0-rc01

5. Oktober 2022

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

Version 1.3.0-beta03

21. September 2022

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

  • Keine Änderungen seit 1.3.0-beta02.

Version 1.3.0-beta02

7. September 2022

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

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

Version 1.3.0-beta01

24. August 2022

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

Version 1.3.0-alpha03

10. August 2022

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

API-Änderungen

  • Neuer Parameter in Crossfade, animateAsState 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 derzeit noch nicht unterstützt, aber in einer kommenden Version. (I477f5)

Version 1.2

Version 1.2.1

10. August 2022

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

Version 1.2.0

27. Juli 2022

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

Wichtige Änderungen seit Version 1.1.0

  • Die Einstellung „Animator duration scale“ (Dauerskala des Animators) in den Entwickleroptionen wird jetzt bei der Animationskomposition unterstützt.
  • Eine große Auswahl neuer experimenteller Glättungskurven.
  • AnimatedImageVector unterstützt 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 werden losgelassen. Version 1.2.0-rc03 enthält diese Commits.

  • Keine Änderungen seit 1.2.0-rc02.

Version 1.2.0-rc02

22. Juni 2022

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

Fehlerkorrekturen

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

Version 1.2.0-rc01

15. Juni 2022

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

API-Änderungen

  • Schnittstellen in Compose-Bibliotheken werden jetzt mit den Standardschnittstellenmethoden von JDK 8 erstellt (I5bcf1)

Version 1.2.0-beta03

1. Juni 2022

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

API-Änderungen

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

Version 1.2.0-beta02

18. Mai 2022

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

Version 1.2.0-beta01

11. Mai 2022

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

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

Version 1.2.0-alpha08

20. April 2022

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

Version 1.2.0-alpha07

6. April 2022

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

API-Änderungen

  • AnimatedImageVector unterstützt 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

  • Die APIs für Vektorgrafiken wurden aktualisiert, sodass die richtige zusammensetzbare Anmerkung @VectorComposable anstelle von @UiComposable verwendet wird (I942bc)

Version 1.2.0-alpha05

9. März 2022

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

API-Änderungen

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

Version 1.2.0-alpha04

23. Februar 2022

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

Version 1.2.0-alpha03

9. Februar 2022

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

Version 1.2.0-alpha02

26. Januar 2022

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

Version 1.2.0-alpha01

12. Januar 2022

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

API-Änderungen

  • Verwenden Sie AnimatedImageVector.animatedVectorResource anstelle 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 Animatable und AnimationResult die toString-Methoden 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 werden losgelassen. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Stabile Unterstützung für den Overscroll-Effekt von Android 12
  • Verbesserungen bei der Größe von Touch-Zielen
  • Im Vergleich zu Compose 1.0 wird der Layoutbereich von Materialkomponenten erweitert, um die Richtlinien für Bedienungshilfen von Material Design für die Größe von Touch-Zielelementen einzuhalten. So wird beispielsweise 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 Verhalten von Compose-Material mit dem von Material Design-Komponenten abgeglichen, was für ein einheitliches Verhalten sorgt, wenn Sie Ansichten und Compose kombinieren. Durch diese Änderung werden auch die Mindestanforderungen an die Barrierefreiheit von Touch-Zielen erfüllt, wenn Sie Ihre Benutzeroberfläche mit Compose Material-Komponenten erstellen.
  • Stabile Unterstützung für den Navigationsstreifen
  • Eine Reihe zuvor experimenteller APIs wird in stabile APIs überführt
  • Unterstützung für neuere Kotlin-Versionen

Version 1.1.0-rc03

26. Januar 2022

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

Fehlerkorrekturen

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

Version 1.1.0-rc01

15. Dezember 2021

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

API-Änderungen

  • Verwenden Sie AnimatedImageVector.animatedVectorResource anstelle von animatedVectorResource, um eine <animated-vector>-Ressourcendatei zu laden.
    • Verwenden Sie 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 werden losgelassen. Version 1.1.0-beta04 enthält diese Commits.

Neue Funktionen

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

Version 1.1.0-beta03

17. November 2021

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

API-Änderungen

  • Der neue Modifikator „Modifier.onPlaced“ wurde hinzugefügt, um die Platzierung zu erfassen. Basierend auf der beobachteten Placement-Änderung können daher zusätzliche Änderungen am Offset des untergeordneten Modifiers vorgenommen werden. (I558fd)
  • Unterstützung für den Inhaltsschlüssel „contentKey“ bei der Überblendung Der ContentKey wird vom Animationssystem für die Gleichheitsprüfung verwendet. Daher kann eine benutzerdefinierte Differenzprüfung für Status durch Angabe des entsprechenden „contentKey“ für verschiedene Status erreicht werden.

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

Version 1.1.0-beta02

3. November 2021

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

Fehlerkorrekturen

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

Version 1.1.0-beta01

27. Oktober 2021

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

API-Änderungen

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

Version 1.1.0-alpha06

13. Oktober 2021

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

Version 1.1.0-alpha05

29. September 2021

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

API-Änderungen

  • EnterTransition, ExitTransition und einige der AnimatedVisibility APIs sind jetzt stabil. MutableTransitionState.isIdle befindet sich 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 werden losgelassen. Version 1.1.0-alpha03 enthält diese Commits.

Neue Funktionen

  • Compose 1.1.0-alpha03 wurde so aktualisiert, dass es von Kotlin 1.5.30 abhängt. (I74545)

Version 1.1.0-alpha02

18. August 2021

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

API-Änderungen

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

Version 1.1.0-alpha01

4. August 2021

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

API-Änderungen

  • AnimatedImageVector und die zugehörigen APIs befinden sich jetzt im neuen 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 werden freigegeben. Version 1.0.5 enthält diese Commits.

Fehlerkorrekturen

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

Version 1.0.4

13. Oktober 2021

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

Abhängigkeitsupdates

  • Aktualisiert, 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, um von Kotlin 1.5.21 abhängig zu sein.

Version 1.0.0

28. Juli 2021

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

Wichtige Funktionen von 1.0.0

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

Bekannte Probleme

  • Wenn Sie Android Studio Bumblebee Canary 4 oder AGP 7.1.0-alpha04/7.1.0-alpha05 verwenden, kann der folgende Absturz auftreten:

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

    Erhöhen Sie in der build.gradle-Datei vorübergehend die minSdkVersion auf mindestens 24, um das Problem zu beheben. Dieses Problem wird in der nächsten Version von Android Studio Bumblebee und 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öchten, 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.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

Was sind Profilregeln?

  • Profilregeln für eine Bibliothek werden in einer Textdatei baseline-prof.txt im 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 formuliert werden, um entweder auf Methoden oder Klassen ausgerichtet zu sein.

  • Eine Methodenregel hat das folgende Muster:

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

    <CLASS_DESCRIPTOR>
    
  • Hier ist <FLAGS> eines oder mehrere der 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, die Parametertypen und die 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 ist eine „heiße“ Methode und sollte vorab kompiliert werden.

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

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

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

So funktioniert's

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

Version 1.0.0-beta08

2. Juni 2021

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

Fehlerkorrekturen

  • Jetzt wird die Positionsänderung von detectDragGesures, detectVerticalGestures und detectHorizontalGestures automatisch verarbeitet. Es ist nicht mehr erforderlich, in den onDrag-Callbacks change.consumePositionChange aufzurufen (I42fc4, b/185096350, b/187320697)
  • Modifier.onGloballyPositioned() wurde geändert, sodass die Koordinaten dieses Modifiers in der Modifikatorkette erfasst werden, nicht die Layoutkoordinaten nach Anwendung aller Modifikatoren. Das bedeutet, dass jetzt die Reihenfolge der Modifikatoren darüber entscheidet, welche Koordinaten erfasst werden. (Ieb67d, b/177926591)

Version 1.0.0-beta07

18. Mai 2021

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

API-Änderungen

  • Neue AnimatedVisibility API, mit der die Sichtbarkeit in 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 werden freigegeben. Version 1.0.0-beta05 enthält diese Commits.

Fehlerkorrekturen

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

Version 1.0.0-beta04

7. April 2021

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

API-Änderungen

  • Öffentliche Instanzen von RowScope, ColumnScope, BoxScope 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 werden freigegeben. Version 1.0.0-beta03 enthält diese Commits.

Version 1.0.0-beta02

10. März 2021

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

Fehlerkorrekturen

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

Version 1.0.0-beta01

24. Februar 2021

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

Dies ist die erste Version von Compose 1.0.0 Beta.

API-Änderungen

  • InteractionState wurde durch [Mutable]InteractionSource ersetzt
    • Oberflächen sind für das Senden / Erfassen von Interaktionsereignissen verantwortlich.
    • Anstatt interactionState = remember { InteractionState() } an Komponenten 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 Dokumentation und in den Beispielen zu „InteractionSource“.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Die Pakete der Methoden „smoothScrollBy“ und „scrollBy“ wurden in androidx.compose.foundation.gestures.* geändert (I3f7c1, b/175294473)
  • Größenmodifikatoren wurden umbenannt. „Modifier.width/height/size“ wurden in „requiredWidth/requiredHeight/requiredSize“ umbenannt. Modifier.preferredWidth/preferredHeight/preferredSize wurden in width/height/size umbenannt. (I5b414)
  • Die Ausrichtung wurde in das Foundation-Paket verschoben. VelocityTracker wurde von ui.gesture zu ui.input.pointer verschoben. (Iff4a8, b/175294473)
  • AnimationClockObservable und die untergeordneten Klassen wurden entfernt. AnimatedFloat wurde entfernt. (Icde52, b/177457083)
  • Modifier.draggable akzeptiert jetzt DraggableState anstelle eines einfachen Lambdas. Sie können den Status über rememberDraggableState { delta -> } erstellen, um das gleiche Verhalten wie zuvor zu erhalten (Ica70f, b/175294473)
  • Die APIs „animate“, „animatedValue“ und „AnimatedValue“ wurden entfernt (If27bc, b/177457083)
  • AnimationEndReason.Interrupted wurde entfernt. CancellationException wird geworfen, wenn die Animation unterbrochen wird. (I2cbbc, b/179695417)
  • Die TargetAnimation API wurde entfernt. (If47d1, b/177457083)

Version 1.0.0-alpha12

10. Februar 2021

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

API-Änderungen

  • Für Modifier.pointerInput sind jetzt Schlüssel zum Speichern erforderlich, um anzugeben, wann die Coroutine zur Erkennung der Mauseingabe für neue Abhängigkeiten neu gestartet werden soll. (I849cd)
  • „Bounds“ wurde in „DpRect“ (I4b32a) umbenannt.
  • Der Parametername für „AnimationSpec“ wurde im gesamten Animationssystem in „animationSpec“ geändert. Beschränken Sie auch den „Enter/ExitTransition“, damit er „FiniteAnimationSpec“ akzeptiert. (Ie47c5, b/177457083)
  • „Animatable.snapTo“ und „Animatable.stop“ sind jetzt Aussetzungsfunktionen (If4288)
  • Ähnlich wie wir zuvor state { 0 }-Kompositelemente entfernt und die Verwendung von remember { mutableStateOf(0) } empfohlen haben, werden wir savedInstanceState { 0 }-Kompositelemente entfernen. Verwenden Sie stattdessen rememberSaveable { mutableStateOf(0) }. Dieser wird automatisch gespeichert und wiederhergestellt, wenn der im MutableState verwendete Typ im Bundle gespeichert werden kann. Wenn Sie zuvor ein benutzerdefiniertes Speicherobjekt übergeben haben, müssen Sie jetzt eine neue Überladung von „rememberSaveable“ mit dem Parameter stateSaver verwenden. Die Verwendung sieht dann so aus: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Die Methode „Crossfade“ wurde aktualisiert, damit sie besser mit dem restlichen Animationssystem übereinstimmt. (Ib05ed, b/177457083)
  • rememberSavedInstanceState() wurde in rememberSaveable() umbenannt und in das Paket androidx.compose.runtime.saveable verschoben. (I1366e, b/177338004)
  • RestorableStateHolder wurde in SaveableStateHolder umbenannt und in das Paket androidx.compose.runtime.saveable verschoben. Die innere Methode „RestorableStateProvider“ wurde in „SaveableStateProvider“ umbenannt. Der generische Typ wurde entfernt. Sie können also einfach „Any“ als Schlüssel übergeben. Die experimentelle Anmerkung ist nicht mehr erforderlich. (I0902e, b/174598702)
  • Die API „Modifier.animateContentSize“ wurde aktualisiert, um mit dem Rest des Animationssystems übereinzustimmen. (I0bf75, b/177457083)
  • „AnimatedValue/Float“ wurde eingestellt. Verwenden Sie stattdessen „Animatable“. (I71345, b/177457083)
  • Die Funktionen „tapGestureFilter“, „doubleTapGestureFilter“, „longPressGestureFilter“ und „pressIndicaitonGestureFilter“ wurden eingestellt. Verwenden Sie stattdessen Modifier.clickable oder Modifier.pointerInput mit der Funktion „detectTapGestures“. (I6baf9, b/175294473)
  • Einführung eines InfiniteAnimationPolicy-Kontextelements für Tasks, das bei endlosen Animationen angewendet wird. Standardmäßig ist keine Richtlinie installiert, es sei denn, Sie führen Tests mit ComposeTestRule aus. (I50ec4, b/151940543)
  • Destrukturierungs- und copy()-Methoden 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“ wurde 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 Zeittyp für Animationen „Long“ anstelle von „Uptime“ verwenden (Ie3aa7, b/177420019)

Version 1.0.0-alpha11

28. Januar 2021

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

API-Änderungen

  • 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)
  • Die Material-Benutzeroberflächen für zustandsorientierte Parameter werden so geändert, dass sie @Composable-Funktionen enthalten, die State<T> zurückgeben. Es wurde „Animatable.asState()“ hinzugefügt, um die Umwandlung eines Animatables in einen Status zu vereinfachen. Außerdem wird „animateElevation“ in eine Aussetzungserweiterung für „Animatable“ geändert. (If613c)

Fehlerkorrekturen

  • onCommit, onDispose und onActive wurden zugunsten der SideEffect- und DisposableEffect-APIs eingestellt (If760e)
  • Der Anfangsstatus in „updateTransition“ wird jetzt unterstützt (Ifd51d)
  • Dem Bild und dem Symbol wurde der Parameter „Inhaltsbeschreibung“ hinzugefügt. Sie wird verwendet, um eine Beschreibung für die Bedienungshilfen bereitzustellen (I2ac4c).
  • invalidate und compositionReference() werden jetzt zugunsten von currentRecomposeScope bzw. rememberCompositionReference eingestellt. (I583a8)
  • „Duration“ (Dauer) und „Uptime“ (Laufzeit) werden durch „Long milliseconds“ ersetzt. Dadurch wird die Abhängigkeit der Zeigereingabe von diesen Klassen aufgehoben. (Ia33b2, b/175142755, b/177420019)
  • Klickbare, ausblendbare und auswählbare Elemente können jetzt außerhalb der Komposition erstellt werden (I0a130, b/172938345, b/175294473)
  • Die Funktion „Easing“ wurde in eine funktionale Oberfläche geändert (Ib14e5)
  • Neue items(count: Int)-Factorymethode für LazyColumn/LazyRow/LazyVerticalGrid items(items: List) 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“ so geändert, dass es alle Felder von „PointerInputData“ enthält. PointerInputEvent und PointerInputEventData wurden intern gemacht, da sie in keiner öffentlichen API verwendet werden. (Ifff97, b/175142755)

Version 1.0.0-alpha10

13. Januar 2021

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

API-Änderungen

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

Fehlerkorrekturen

  • Neue coroutine-basierte API Animatable, die für die gegenseitige Ausschließlichkeit der Animationen sorgt. 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 Gültigkeitsbereich der Daten auf den Bereich eingegrenzt werden kann, in dem der Statuswert gelesen wird. (Ib179e)

Version 1.0.0-alpha09

16. Dezember 2020

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

API-Änderungen

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

Fehlerkorrekturen

  • Lambdas in Offset-Modifizierern geben jetzt IntOffset statt Float zurück. (Ic9ee5, b/174137212, b/174146755)
  • Die Funktionen „LazyColumnFor“, „LazyRowFor“, „LazyColumnForIndexed“ und „LazyRowForIndexed“ werden eingestellt. Verwenden Sie stattdessen LazyColumn und LazyRow (I5b48c).
  • Die APIs zum Pausieren der Eingabe per Eingabestift wurden umbenannt: HandlePointerInputScope in AwaitPointerEventScope und handlePointerInput() in awaitPointerEventScope(). (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. Verwenden Sie stattdessen Modifier.then.
    • Color.Unset wurde entfernt. Verwenden Sie stattdessen 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 in Modifier.alpha umbenannt
    • Modifier.drawShadow in Modifier.shadow umbenannt (I264ca, b/173208140)
  • Die Felder „Uptime“ und „Position“ von „PointerInputData“ sind jetzt nicht mehr optional. (Id468a)
  • Die Modifikatoren „offsetPx“ wurden in „offset“ umbenannt. Stattdessen werden jetzt Lambda-Parameter anstelle von „State“ verwendet. (Ic3021, b/173594846)
  • Neue APIs zum Ausführen von Animationen in coroutines (Ied662)
  • Wir haben Ambients mit dem Suffix Ambient eingestellt und durch neue Properties mit dem Präfix „Ambient“ ersetzt, gemäß den anderen Richtlinien für Ambients und die Compose API. (I33440)
  • Die Zeitsteuerung in Tests (TestAnimationClock und ihre Verwendung) ist jetzt experimentell (I6ef86, b/171378521)
  • Altes UI-Testmodul und seine Stubs entfernen (I3a7cb)
  • Die Funktion RestorableStateHolder.withRestorableState wurde 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 werden freigegeben. Version 1.0.0-alpha06 enthält diese Commits.

API-Änderungen

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

Version 1.0.0-alpha05

14. Oktober 2020

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

API-Änderungen

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

Fehlerkorrekturen

  • OnPositionedModifier wurde in OnGloballyPositionedModifier umbenannt und onPositioned() in onGloballyPositioned(). (I587e8, b/169083903)
  • Die APIs „contentColor()“ und „currentTextStyle()“ werden eingestellt und durch die Umgebungen „AmbientContentColor“ und „AmbientTextStyle“ ersetzt. Wie bei allen anderen Umgebungseigenschaften können Sie mit .current auf den aktuellen Wert zugreifen. Diese Änderung wurde aus Gründen der Einheitlichkeit vorgenommen, um zu vermeiden, dass es mehrere Möglichkeiten gibt, dasselbe zu tun. Außerdem wurden einige Umgebungseigenschaften umbenannt, um ihren Zweck besser zu beschreiben:

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

Version 1.0.0-alpha04

1. Oktober 2020

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

API-Änderungen

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

Fehlerkorrekturen

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

Version 1.0.0-alpha03

16. September 2020

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

Fehlerkorrekturen

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

Version 1.0.0-alpha02

2. September 2020

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

API-Änderungen

  • Es wurde ManualFrameClock.hasAwaiters hinzugefügt, um zu sehen, ob ein Frame von dieser Uhr erwartet wird. runWithManualClock 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 im selben Choreograph-Frame ausgeführt, in dem die Änderungen an der Komposition vorgenommen wurden, und nicht am Anfang des nächsten Choreograph-Frames. (I70403)

Version 1.0.0-alpha01

26. August 2020

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

Version 0.1.0-dev

Version 0.1.0-dev17

19. August 2020

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

Neue Funktionen

API-Änderungen

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

    „EnterTransition“ und „ExitTransition“ wurden eingeführt, um mit dem „AnimatedVisibilty“-Composit zu arbeiten und drei verschiedene Arten von Ein- und Ausblendungsanimationen bereitzustellen: Ein- und Ausblenden, Wischen und Maximieren/Minimieren von Inhalten. Die verschiedenen Arten von Animationen können kombiniert werden, um ein individuelles Erscheinungsbild zu erzielen. (Idda11)

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

Fehlerkorrekturen

  • PlacementScope.placeAbsolute() wurde 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 state { ... }-Komponente wird zugunsten expliziter Aufrufe von remember { mutableStateOf(...) } eingestellt. Dadurch wird die API-Oberfläche insgesamt und die Anzahl der Konzepte für die Zustandsverwaltung reduziert. Außerdem entspricht dies dem by mutableStateOf()-Muster für die Delegation von Klasseneigenschaften. (Ia5727)

Version 0.1.0-dev16

5. August 2020

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

API-Änderungen

  • Die integrierten Vektorkonverter zum Umwandeln von integrierten Einheiten sind jetzt über Foo.VectorConverter zugänglich. z. B. Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter usw. (I3e273)
  • End-Listener in Modifier.animateContentSize() unterstützen, 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 coroutinesbasierten Uhren und APIs zu schließen, die noch die alten callbackbasierten 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 zu „foundation.share“ zusammengeführt (I46491, b/161887429)
  • Modifier.plus wurde eingestellt. Verwenden Sie stattdessen Modifier.then. „Dann“ ist ein stärkeres Signal für die Reihenfolge und verhindert gleichzeitig das Eintippen von Modifier.padding().background() + anotherModifier, was die Abfolge unterbricht und die Lesbarkeit erschwert (Iedd58, b/161529964)
  • Modifier.drawBackground wurde in Modifier.background umbenannt (I13677)

Version 0.1.0-dev15

22. Juli 2020

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

Aktualisierung von Abhängigkeiten

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

API-Änderungen

  • Die Transition API wurde geändert, sodass jetzt ein TransitionState zurückgegeben wird, anstatt den TransitionState an untergeordnete Elemente weiterzuleiten. Dadurch ist die API einheitlicher mit den animate()-APIs. (I24e38)
  • Für Crossfade wurde ein Modifikatorparameter hinzugefügt (I87cfe, b/159706180)
  • Verwenden Sie in den APIs der obersten Ebene „AnimationSpec“ anstelle von „AnimationBuilder“, um das Konzept der statischen Animationsspezifikation zu verdeutlichen.
    • Die Transition-DSL wurde verbessert, indem die Lambda-Anforderung zum Erstellen von AnimationSpecs wie „tween“ und „spring“ entfernt wurde. Stattdessen werden die Konstruktorparameter direkt übernommen.
    • Die Nutzerfreundlichkeit von AnimationSpec wurde verbessert, indem Konstruktoren statt Builder verwendet werden.
    • Ändern Sie „duration“ und „delay“ für KeyFrames und Tween in „Int“. Dadurch werden unnötige Typumwandlungen und Methodenüberladungen vermieden, da sowohl „Long“ als auch „Int“ unterstützt werden. (Ica0b4)
  • IntPx wurde durch Int ersetzt. IntPxPosition wurde durch IntOffset ersetzt. IntPxSize durch IntSize ersetzt (Ib7b44)
  • Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Größeninformationen verwendet werden, sollten Sie die Verwendung der Klasse „Size“ anstelle von „PxSize“ standardisieren. Dies bietet die Vorteile einer Inline-Klasse, 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, bei der zwei Gleitkommawerte in einem Long-Wert für die X- und Y-Achsen verpackt werden. (I3ad98)
  • Die Verwendung der Px-Klasse in verschiedenen zusammengesetzten Klassen wurde im Rahmen der umfangreichen Refaktorisierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden (I086f4)
  • Unterstützung für animate() für „Dp“, „Px“, „Size“, „Position“, „Bounds“, „PxPosition“, „PxSize“, „PxBounds“, „IntPx“, „IntPxSize“, „IntPxPosition“, „IntPxBounds“ und „AnimationVector“ hinzugefügt (Ib7518)
  • Für den Übergang wird jetzt der optionale Parameter „AnimationBuilder“ akzeptiert, um die Animation zu konfigurieren (I6d6e0).
  • Alle nullablen Verwendungen von „Color“ in der API wurden durch nicht nullable ersetzt und „Color.Unset“ wird anstelle von „null“ verwendet (Iabaa7)
  • Die Klasse „ValueHolder“ wurde entfernt. Die Klassen „AnimatedValue“ und „AnimatedFloat“ wurden umstrukturiert, um das Feld für den Animationswert abstrakt zu machen, damit Unterklassen die 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, während die Animation in RepeatableSpec oder VectorizedRepeatableSpec wiederholt wird. (Ibe0f5)
  • API-Ergänzungen für „ManualAnimationClock“: hasObservers: Boolean und Konstruktorparameter dispatchOnSubscribe: Boolean (Iaa134)
  • APIs zum Abrufen von Mindest-/Höchstwerten in AnimatedFloat hinzugefügt (Icd9cc)

Fehlerkorrekturen

  • runOnIdleCompose in runOnIdle umbenannt (I83607)
  • Mehrere Test-APIs wurden umbenannt, um sie intuitiver zu gestalten. Alle APIs vom Typ „findXYZ“ wurden in „onNodeXYZ“ umbenannt. Alle APIs vom Typ „doXYZ“ wurden in „performXYZ“ umbenannt. (I7f164)
  • Einführung von zustandslosen Animations-APIs auf niedriger Ebene. Diese APIs (I63bf7)
  • Das Recompose-Komposit ist nicht mehr nützlich. Die meisten Neuzusammensetzungen sollten aufgrund von MutableState-Zuweisungen erfolgen. Für alles andere wird empfohlen, die Funktion invalidate zu verwenden, um eine Neuzusammensetzung des aktuellen Bereichs auszulösen. (Ifc992)
  • Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen der umfangreichen Refaktorierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden. Px-Klasse vollständig gelöscht (I3ff33)
  • Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen der umfangreichen Refaktorisierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden (Id3434)
  • Für Crossfade kann jetzt „null“ als Anfangswert verwendet werden (Iad6a4, b/155947711)
  • Die Verwendung der Px-Klasse in verschiedenen Zusammensetzungsklassen wurde im Rahmen der umfangreichen Refaktorierung ersetzt, um nur noch Dp- und primitive Typen für Pixelparameter zu verwenden (I19d02)
  • CanvasScope-Implementierungen wurden konsolidiert. Es gibt jetzt nur noch DrawScope und ContentDrawScope. DrawScope wurde aktualisiert, um die Density-Oberfläche zu implementieren und LayoutDirection bereitzustellen. Die DrawScope-Unterklasse wurde aus ContentDrawScope entfernt. Painter und PainterModifier wurden aktualisiert, damit sie keine RTL-Eigenschaft mehr selbst verwalten, da DrawScope 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 ein Canvas benötigen, können die Erweiterungsmethode „drawCanvas“ verwenden. Diese bietet einen Rückruf, um Zeichenbefehle für das zugrunde liegende Canvas auszugeben. (I80afd)
  • Den Parametern „verticalGravity“ und „horizontalGravity“ wurden die Optionen „Zeile“ und „Spalte“ hinzugefügt. (I7dc5a)
  • Das Modul „ui-text“ wurde in „ui-text-core“ umbenannt (I57dec).
  • Verbesserungen an der DrawModifier API:
    • Der Empfängerbereich für draw() wurde zu ContentDrawScope geändert.
    • Alle Parameter für „draw()“ entfernt
    • DrawScope hat dieselbe Oberfläche wie das bisherige CanvasScope
    • ContentDrawScope hat die Methode „drawContent()“ (Ibaced, b/152919067)
  • runOnIdleCompose und runOnUiThread sind jetzt globale Funktionen anstelle von Methoden in ComposeTestRule. (Icbe8f)
  • [Änderbar]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)
  • Der Modifikator-Plus-Operator wurde durch Funktionen der werkseitigen Erweiterung ersetzt (I225e4)
  • Eingestellte Center-Kompositionen Er sollte entweder durch den Modifizierer „LayoutSize.Fill“ + „LayoutAlign.Center“ oder durch eines der Box- oder Stack-Kompositionen mit geeigneten Modifizierern ersetzt werden (Idf5e0).
  • „LayoutFlexible“ in „LayoutWeight“ umbenannt. Der Parameter „tight“ wurde in „fill“ umbenannt. (If4738)
  • Die zusammensetzbare Funktion „Opacity“ (Deckkraft) wurde durch den Modifikator „drawOpacity“ ersetzt. (I5fb62)
  • Tests mit AndroidComposeTestRule bieten jetzt eine Animation mit einer Uhr am Stamm der Komposition, mit der sie manuell pausiert, fortgesetzt und vor- und zurückgesprungen werden kann. (Id54c5)
  • Unterstützung der Ausrichtung von rechts nach links im LayoutPadding-Modifikator (I9e8da)
  • Density und DensityScope wurden in einer einzigen Benutzeroberfläche zusammengeführt. Anstelle von ambientDensity() können Sie jetzt DensityAmbient.current verwenden. Statt „withDensity(density)“ einfach „with(density)“ verwenden (I11cb1)
  • Es wurden verschiedenen Inline-Klassentypen Kopiermethoden hinzugefügt, darunter:
    • Offset
    • Größe
    • Radius
    • Bewegung
    • TransformOrigin
    • Die Companion-Objektmethode „Size.copy“ wurde zugunsten der Instanzkopiemethode eingestellt (Ife290, b/159905651)
  • androidx.compose.ViewComposer wurde zu androidx.ui.node.UiComposer verschoben und androidx.compose.Emittable wurde entfernt. Es war redundant mit ComponentNode. androidx.compose.ViewAdapters wurde entfernt. Dieser Anwendungsfall wird nicht mehr unterstützt. Compose.composeInto wurde eingestellt. Verwenden Sie 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)