Compose-Animation

Animationen in Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
2. Juli 2025 1.8.3 - 1.9.0-beta02 -

Struktur

Compose ist eine Kombination aus 7 Maven-Gruppen-IDs in androidx. Jede Gruppe enthält eine bestimmte Teilmenge von Funktionen mit jeweils eigenen Versionshinweisen.

In dieser Tabelle werden die Gruppen erläutert und es sind Links zu den jeweiligen Versionshinweisen enthalten.

GruppeBeschreibung
compose.animationAnimationen in Jetpack Compose-Anwendungen erstellen, um die Nutzerfreundlichkeit zu verbessern.
compose.compiler@Composable-Funktionen transformieren und Optimierungen mit einem Kotlin-Compiler-Plug-in ermöglichen
compose.foundationMit den einsatzbereiten Bausteinen können Sie Jetpack Compose-Anwendungen schreiben und die Grundlage erweitern, um eigene Designsystemkomponenten zu erstellen.
compose.materialJetpack Compose-UIs mit einsatzbereiten Material Design-Komponenten erstellen Dies ist der Einstiegspunkt auf höherer Ebene für Compose. Er soll Komponenten bereitstellen, die den auf www.material.io beschriebenen Komponenten entsprechen.
compose.material3Mit Material Design 3-Komponenten, der nächsten Generation von Material Design, können Sie Jetpack Compose-UIs erstellen. Material 3 umfasst aktualisierte Designs und Komponenten sowie Material You-Personalisierungsfunktionen wie dynamische Farben. Es ist auf den neuen visuellen Stil und die System-UI von Android 12 abgestimmt.
compose.runtimeGrundlegende Bausteine des Programmiermodells und der Statusverwaltung von Compose sowie die Core-Laufzeit für das Compose Compiler-Plug-in.
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 benötigten Artefakte hinzu:

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.

Version 1.9

Version 1.9.0-beta02

2. Juli 2025

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

Version 1.9.0-beta01

18. Juni 2025

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

Version 1.9.0-alpha04

4. Juni 2025

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

Version 1.9.0-alpha03

20. Mai 2025

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

Version 1.9.0-alpha02

7. Mai 2025

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

Neue Funktionen

  • Das Scrollen oder Ziehen in freigegebenen Elementen wird jetzt viel besser unterstützt. Wenn ein Übergangselement gescrollt wird, wird das Scroll-Delta direkt auf das Element angewendet, anstatt dass die Elemente dem neuen Ziel folgen. (cacf7b)

Version 1.9.0-alpha01

23. April 2025

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

Geändertes Verhalten

  • Für Lint-Prüfungen, die mit Compose ausgeliefert werden, ist jetzt mindestens AGP-Version 8.8.2 erforderlich. Wenn Sie AGP nicht aktualisieren können, können Sie stattdessen Lint aktualisieren, indem Sie android.experimental.lint.version=8.8.2 (oder eine neuere Version) in Ihrer gradle.properties verwenden. Um Compose-Lint-Prüfungen in der IDE auszuführen, ist Android Studio Ladybug oder höher erforderlich.

Neue Funktionen

  • Verbesserte Scrollleistung für freigegebene Elemente (ea4f1f)

API-Änderungen

  • Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich. (Idb6b5)
  • TabRow und ScrollableTabRow werden zugunsten von primären und sekundären Varianten der jeweiligen Elemente eingestellt. Die Zeilen auf den Tabs „Primär“ und „Sekundär“ sind leistungsfähiger und entsprechen genauer den Spezifikationen. (I918e2)
  • Die Komposition LocalResources wurde lokal hinzugefügt, um Ressourcen abzufragen. Wenn LocalResources.current aufgerufen wird, wird die Komposition bei einer Konfigurationsänderung neu erstellt. Daher werden bei Aufrufen von APIs wie stringResource() aktualisierte Werte zurückgegeben (I50c13, b/274786917).

Fehlerkorrekturen

  • Sicherstellen, dass freigegebene Elemente nach Abschluss des Übergangs aus dem Overlay entfernt werden (35f359)
  • Zusätzliche Neuzusammenstellung bei Übergängen vermeiden (988923)
  • Behebung von Problemen bei der Verarbeitung von Unterbrechungen von untergeordneten Übergängen (8aed52)
  • Sicherstellen, dass der Übergang zurückgesetzt wird, wenn ein neuer TransitionState bereitgestellt wird (57820a)

Externe Beiträge

  • Aus Compose 1.8.1: End animations in SeekableTransitionState if already past new duration by Steven Schoen. (0c832c)

Version 1.8

Version 1.8.3

18. Juni 2025

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

Version 1.8.2

20. Mai 2025

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

Version 1.8.1

7. Mai 2025

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

Externe Beiträge

  • Ende-Animationen in SeekableTransitionState, wenn die neue Dauer bereits überschritten ist. Vielen Dank, Steven Schoen! (fbcdf7)

Version 1.8.0

23. April 2025

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

Wichtige Änderungen seit Version 1.7.0

  • Wichtige Änderungen in Version 1.8.0 werden in diesem Blogbeitrag beschrieben.
  • Neue Modifier.animateBounds API zum Animieren von Größen- und Positionsänderungen innerhalb eines Lookahead-Bereichs. (94b939)
  • Finalisierte APIs für Keyframes mit Bögen und Splines (89e119)
  • Unterstützt Lookahead in LazyGrid und Pager. Dazu gehört die Unterscheidung zwischen Lookahead- und Approach-Pass beim Scrollen, bei der Zusammensetzung/Entsorgung von Elementen und bei der Animation von Elementen. Außerdem wird der Lookahead-Pass als Quelle der Wahrheit für das Scrollen und das Ziel der Animation von Elementen verwendet.
  • Die Benennung des Parameters sharedElement wurde von „state“ zu sharedContentState geändert, um die Konsistenz zwischen den APIs für gemeinsame Elemente zu verbessern. (9e7df5)
  • Die AnimatedImageVector-API-Suite ist jetzt stabil.(69d7e0)

Version 1.8.0-rc03

9. April 2025

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

Version 1.8.0-rc02

26. März 2025

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

Version 1.8.0-rc01

12. März 2025

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

Fehlerkorrekturen

  • Die Übergangsanimation für untergeordnete Elemente wurde fälschlicherweise als unterbrochen markiert. (3fa2ce)

Version 1.8.0-beta03

26. Februar 2025

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

Version 1.8.0-beta02

12. Februar 2025

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

Version 1.8.0-beta01

29. Januar 2025

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

Version 1.8.0-alpha08

15. Januar 2025

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

Fehlerkorrekturen

  • Falsche Placement-Animation von animateBounds in LazyGrid behoben, da MotionFrameOfReferencePlacement zurückgesetzt wurde. (16193b)
  • Die intrinsische Abfrage in SharedTransitionLayout wurde korrigiert, indem sie von einem Lookahead-Stamm der obersten Ebene an den Lookahead-Pass weitergeleitet wurde. (a07d12)
  • Fehlende @param-Tags in der Dokumentation hinzugefügt. (e5cf67)

Version 1.8.0-alpha07

11. Dezember 2024

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

Neue Funktionen

  • Unterstützt Lookahead in Pager, indem der Lookahead-Pass vom Approach-Pass unterschieden wird, um Elemente beizubehalten und das Scrollen zu nutzen. (b/371802474)

Fehlerkorrekturen

  • Ein seltener Absturz wird behoben, der auftritt, wenn ein gemeinsames Element zusammengesetzt, aber nie gemessen/platziert wird. Dazu wird festgelegt, dass das gemeinsame Element mindestens einmal an der richtigen Stelle gerendert werden muss, bevor es im Overlay gerendert wird. (b/371802474)

Version 1.8.0-alpha06

13. November 2024

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

API-Änderungen

  • Die Benennung des Parameters sharedElement wurde von state zu sharedContentState aktualisiert, um die Konsistenz zwischen den APIs für gemeinsame Elemente zu verbessern. (I5694c, b/375351468)
  • Die AnimatedImageVector-Suite von APIs ist jetzt stabil. (I7174b, b/261436267)

Version 1.8.0-alpha05

30. Oktober 2024

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

Neue Funktionen

  • Lookahead wird jetzt in LazyGrid unterstützt. Dazu gehört die Unterscheidung zwischen Lookahead- und Approach-Pass beim Scrollen, bei der Zusammensetzung/Entsorgung von Elementen und bei der Animation von Elementen. Außerdem wird der Lookahead-Pass als Quelle der Wahrheit für das Scrollen und das Ziel der Animation von Elementen verwendet.

Fehlerkorrekturen

  • Aktualisiert interne Status für die Größenänderung von AnimatedContent, wenn der Übergang neu erstellt wird. So sind die Informationen zur Zielgruppengröße immer auf dem neuesten Stand. (b/372512085)

Version 1.8.0-alpha04

16. Oktober 2024

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

Fehlerkorrekturen

  • Ein Fehler wurde behoben, der dazu führte, dass einige Easing-Kurven bei bestimmten Zeitbruchteilen abstürzten.
  • Ein Fehler wurde behoben, der zu einer falschen Ausrichtung von Modifier.animateContentSize in RTL-Sprachen führte. (Idae6b, b/372055503)

Version 1.8.0-alpha03

2. Oktober 2024

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

API-Änderungen

  • Aktualisierung der Kotlin-Version auf 1.9 (I1a14c)

Fehlerkorrekturen

  • Ein Problem bei der Größenanimation von AnimatedContent wurde behoben. Die Animation wird jetzt immer von der aktuellen Größe aus gestartet, um die Kontinuität zu gewährleisten.

Version 1.8.0-alpha02

18. September 2024

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

Version 1.8.0-alpha01

4. September 2024

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

Neue Funktionen

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

API-Änderungen

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

Fehlerkorrekturen

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

Externe Beiträge

  • Verhindere das Festlegen von suchbaren Übergängen playTime, wenn kein Übergang von Steven Schoen ausgeführt wird. (c2e6e7e6)

Version 1.7

Version 1.7.8

12. Februar 2025

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

Version 1.7.7

29. Januar 2025

androidx.compose.animation:animation-*:1.7.7 wird veröffentlicht. Keine Änderungen gegenüber Version 1.7.6. 11. Dezember 2024

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

Version 1.7.5

30. Oktober 2024

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

Fehlerkorrekturen

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

Version 1.7.4

16. Oktober 2024

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

Version 1.7.3

2. Oktober 2024

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

Version 1.7.2

18. September 2024

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

Externe Beiträge

  • Das Festlegen der suchbaren Übergangs-playTime wird verhindert, wenn kein Übergang ausgeführt wird. Vielen Dank, Steven Schoen! (c2e6e7e6)

Version 1.7.1

10. September 2024

  • An Android-Artefakten wurden keine Änderungen vorgenommen. -desktop Artefakte wurden entfernt und -jvmStubs- und -linuxx64Stubs-Artefakte wurden hinzugefügt. Keines dieser Ziele ist für die Verwendung vorgesehen. Sie sind Platzhalter, um die Bemühungen von Jetbrains Compose zu unterstützen.

Version 1.7.0

4. September 2024

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

Wichtige Änderungen seit Version 1.6.0

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

Neue APIs für Übergänge mit gemeinsam genutzten Elementen

  • Neue APIs für Übergänge zwischen gemeinsamen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als layoutbaumübergreifend geteilt gekennzeichnet werden. Dadurch werden die Grenzen beim Ein- und Ausblenden von gemeinsam genutzten Inhalten fließend geändert. (Icb0b9)
  • Neue scaleInSharedContentToBounds 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 Skalierung und erneuter Messung zu wählen. Die bisherigen scaleIn/OutSharedContentToBounds-APIs werden nicht mehr unterstützt. (I0d41a)

Verbesserungen an vorhandenen APIs:

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

Die folgenden APIs sind stabil geworden oder wurden entfernt:

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

Version 1.7.0-rc01

21. August 2024

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

Version 1.7.0-beta07

7. August 2024

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

Fehlerkorrekturen

  • Das Problem wurde behoben, dass SharedTransitionScope unter bestimmten Bedingungen keine Overlay-Elemente während des Übergangs gezeichnet hat. Dies betraf in der Regel die Verwendung mit Navigation. (Id65ab, b/347520198)

Version 1.7.0-beta06

24. Juli 2024

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

Fehlerkorrekturen

  • Es wurde ein Problem behoben, durch das SeekableTransition Übergangszustände weitergegeben hat. Dazu wurden Beobachtungen aus SnapshotStateObserver beim Schließen des Übergangs richtig bereinigt. (b9c7182)
  • Es wurden Grenzfälle behoben, in denen untergeordnete Übergänge nicht richtig als abgeschlossen markiert wurden, wenn der übergeordnete Übergang abgeschlossen war. (dc42216)

Version 1.7.0-beta05

10. Juli 2024

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

Fehlerkorrekturen

  • Die Transition-Property totalDurationNanos kann jetzt in einem snapshotFlow richtig gelesen werden.

Version 1.7.0-beta04

26. Juni 2024

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

Version 1.7.0-beta03

12. Juni 2024

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

Version 1.7.0-beta02

29. Mai 2024

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

Version 1.7.0-beta01

14. Mai 2024

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

API-Änderungen

  • Neue resizeModes (ScaleToBounds und RemeasureToBounds) für sharedBounds, um zwischen Skalierung und erneuter Messung zu wählen. Die bisherigen scaleIn/OutSharedContentToBounds-APIs werden nicht mehr unterstützt. (I0d41a)

Externe Beiträge

Version 1.7.0-alpha08

1. Mai 2024

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

API-Änderungen

  • Die LookaheadScope APIs sind jetzt stabil. (I21507)

Externe Beiträge

  • Clear start animation time after SeekableTransitionState animates/snaps by Steven Schoen (1ca89529)

Version 1.7.0-alpha07

17. April 2024

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

Neue Funktionen

  • Neue APIs für Übergänge zwischen gemeinsamen Elementen warten auf Ihre Nutzung und Ihr Feedback. Mit diesen neuen experimentellen APIs können Layouts mithilfe der bereitgestellten Modifikatoren als layoutbaumübergreifend geteilt gekennzeichnet werden. Dadurch werden die Grenzen beim Ein- und Ausblenden von gemeinsam genutzten Inhalten fließend geändert. (Icb0b9)
  • Neue scaleInSharedContentToBounds und scaleOutSharedContentToBounds zum Skalieren von Inhalten in sharedBounds (I731c1)

API-Änderungen

  • AnimatedVisibilityScope.transition ist jetzt eine stabile API. Modifier.animateEnterExit(..) wurde ebenfalls stabilisiert. (I6c1d1)
  • ApproachLayoutModifierNode und Modifier.approachLayout sind jetzt stabil. Die alten isMeasurementApproachComplete() und isPlacementApproachComplete() wurden durch die neuen isMeasurementApproachInProgress() und isPlacementApproachInProgress() ersetzt.
  • Die eingestellte Anpassung intermediateLayout wurde entfernt. (I3e91c)
  • Sie können jetzt einen periodicBias-Wert (Gleitkommazahl) an keyframesWithSpline übergeben. Dadurch sind die Anfangs- und Endgeschwindigkeit des Splines gleich. Nützlich für wiederholbare Animationen mit Splines. Die Bias-Werte geben an, wie stark die einzelnen Geschwindigkeiten (Anfangs- und Endgeschwindigkeit) angepasst werden müssen, um Periodizität zu erreichen. (Ic1e6c, b/292114811)

Fehlerkorrekturen

  • Das Überschwingen und Unterschwingen von Easing-Kurven, die zuvor auf 0..1 begrenzt wurden, wurde korrigiert (I38747).

Version 1.7.0-alpha06

3. April 2024

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

Neue Funktionen

  • Unterstützung für Animationen zum Ein- und Ausblenden von Elementen wurde in LazyColumn und LazyRow hinzugefügt. Bisher war es möglich, den Modifizierer Modifier.animateItemPlacement() hinzuzufügen, um Animationssequenzen 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, 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 in einen Zielstatus ändert, ohne dass eine Animation erfolgt.

Version 1.7.0-alpha04

6. März 2024

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

API-Änderungen

  • Neue API Path.reverse() zum Umkehren der Richtung eines Pfads (I36348)

Version 1.7.0-alpha03

21. Februar 2024

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

Neue Funktionen

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

Version 1.7.0-alpha02

7. Februar 2024

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

Fehlerkorrekturen

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

Version 1.7.0-alpha01

24. Januar 2024

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

Version 1.6

Version 1.6.8

12. Juni 2024

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

Version 1.6.7

1. Mai 2024

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

Version 1.6.6

17. April 2024

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

Version 1.6.5

3. April 2024

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

Version 1.6.4

20. März 2024

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

Version 1.6.3

6. März 2024

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

Version 1.6.2

21. Februar 2024

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

Version 1.6.1

7. Februar 2024

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

Fehlerkorrekturen

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 Lookahead erfordern. Sie sind verfügbar, wenn Lookahead standardmäßig aktiviert ist oder in zukünftigen Versionen aktiviert wird.

Version 1.6.0-beta02

29. November 2023

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

Version 1.6.0-beta01

15. November 2023

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

API-Änderungen

  • ExitTransition.Hold wurde in ExitTransition.KeepUntilTransitionsFinished umbenannt, um die Funktion deutlicher zu machen. (I1c490)
  • Sie können jetzt keyframesWithSpline verwenden, um beliebige N-dimensionale Werte mithilfe monotoner Splines zu interpolieren. Das ist besonders nützlich, um Positionsdaten wie Offset, IntOffset und DpOffset zu interpolieren. Als experimentelle API hinzugefügt.

Fehlerkorrekturen

  • Renderer-Unterstützung für Sweep Gradient in ArcLine hinzufügen. (I4d5bb)
  • Implementieren Sie „equals“ und „hashcode“ für PageSize.Fixed. (Ie3ede, b/300134276)
  • Behebt ein Problem mit der binären Kompatibilität bei einer Änderung des Window Inset. (Iee695)
  • Die Material-Kernschicht für Material3-Chips/-Schaltflächen wurde entfernt, da die Microbenchmarks ohne sie eine bessere Leistung zeigen. (I55555)

Version 1.6.0-alpha08

18. Oktober 2023

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

API-Änderungen

  • KeyframesSpecConfig#with wurde zugunsten von KeyframesSpecConfig#using verworfen, wodurch das Builder-Muster beibehalten wird. (I1d769)

Version 1.6.0-alpha07

4. Oktober 2023

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

API-Änderungen

  • Für feste und scrollbare Tabellenzeilen gibt es jetzt primäre und sekundäre Varianten. Sie entsprechen der Farb- und Indikatorfunktion, die in Material 3 definiert ist.
  • PrimaryScrollableTabRow und SecondaryScrollableTabRow geben jetzt den Scrollstatus aus. (Iec8f5, b/260572337)

Version 1.6.0-alpha06

20. September 2023

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

Version 1.6.0-alpha05

6. September 2023

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

API-Änderungen

  • PathEasing wurde hinzugefügt, damit ein beliebiger Pfad für eine Easing-Kurve angegeben werden kann. (Idb4b9)

Version 1.6.0-alpha04

23. August 2023

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

API-Änderungen

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

Version 1.6.0-alpha03

9. August 2023

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

API-Änderungen

  • Neuer Typ für Ein- und Ausblendungsübergänge, bei dem der Inhalt während der Ein- und Ausblendungsanimation an die Größe des animierenden Containers angepasst wird. LookaheadScope Composable-Funktionen und ‑Schnittstelle sind jetzt stabil. (Ifb2ce)

Version 1.6.0-alpha02

26. Juli 2023

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

API-Änderungen

  • Neues ExitTransition.Hold zum Anzeigen ausgehender Inhalte in AnimatedContent, bis sowohl der Ein- als auch der Ausblendungsvorgang abgeschlossen sind. (I5984f)
  • Zusätzliche Anmerkungen zum Angeben zulässiger Eingaben für Composables (I51109)

Version 1.6.0-alpha01

21. Juni 2023

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

Neue Funktionen

  • Aktivieren Sie die vollständige Integration von Modifier.animateContentSize und AnimatedVisibility in das Lookahead-System, indem Sie die Zielgröße im Lookahead-Pass angeben.

API-Änderungen

  • Neues Attribut in IntrinsincMeasureScope und seinen Implementierungen (z.B. MeasureScope), um anzugeben, ob der aktuelle Messdurchlauf ein Lookahead-Durchlauf ist. (I7a812)

Fehlerkorrekturen

  • Zuweisungen aus Federanimationen entfernt. (Ie9431)
  • Der Name des Wertparameters für Enum.valueOf wurde geändert (Ia9b89)
  • Es werden mehr Ausnahmen von „enum valueOf“ ausgelöst (I818fe)

Version 1.5

Version 1.5.4

18. Oktober 2023

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

Version 1.5.3

4. Oktober 2023

androidx.compose.animation:animation-*:1.5.3 wird veröffentlicht. Diese Version enthält keine Änderungen

Version 1.5.2

27. September 2023

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

Version 1.5.1

6. September 2023

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

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, bei dem in Textfeldern die Tastatur angezeigt wurde und sie bearbeitet werden konnten, wenn readOnly auf „true“ gesetzt war. Außerdem wurde ein Fehler behoben, durch den die Tastatur nicht angezeigt wurde, wenn readOnly im Fokus von „true“ zu „false“ geändert wurde. (I34a19, b/246909589)

Version 1.5.1

6. September 2023

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

Version 1.5.0

9. August 2023

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

Version 1.5.0-rc01

26. Juli 2023

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

Fehlerkorrekturen

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

  • Es ist eine optionale Prüfung verfügbar, mit der empfohlen wird, mutableStateOf()-Aufrufe zu den entsprechenden spezialisierten Typen für Primitiven zu migrieren. Die Lint-ID 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 den Schweregrad von „Informational“ zu „Warning“ (oder höher), indem Sie warning "AutoboxingStateCreation" in der build.gradle- oder build.gradle.kts-Konfiguration Ihres Moduls deklarieren, wie unten gezeigt (I34f7e):

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

Version 1.5.0-beta03

28. Juni 2023

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

Version 1.5.0-beta02

7. Juni 2023

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

Version 1.5.0-beta01

24. Mai 2023

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

API-Änderungen

  • Zuweisungen in der Neukomposition, Farbanimationen und AndroidComposeView (Ib2bfa) entfernt

Fehlerkorrekturen

  • Zuweisungen aus federnden Animationen entfernt (Ie9431)

Version 1.5.0-alpha04

10. Mai 2023

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

API-Änderungen

  • ContentKey wird jetzt in AnimatedContent unterstützt, damit Sie besser steuern können, wann der Übergang erfolgen soll. (Ic069b)

Version 1.5.0-alpha03

19. April 2023

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

Neue Funktionen

  • Neues Standardverhalten für SubcomposeLayout in LookaheadScope. So können SubcomposeLayouts ohne bedingte Slots (z. B. TabRow, Scaffold, BoxWithConstraints usw.) gut mit Lookahead-Animationen verwendet werden.

API-Änderungen

  • Mit dem neuen Standard-intermediateMeasurePolicy, bei dem die Messrichtlinie aus dem Lookahead-Pass wiederverwendet wird, können SubcomposeLayout-Untertypen ohne bedingte Slots wie Scaffold, TabRow und BoxWithConstraints standardmäßig mit Lookahead verwendet werden. (Id84c8)
  • Benennen Sie die Infix-Funktion mit togetherWith um, um Ein- und Ausblendungsübergänge zu kombinieren. Neues AnimatedContentScope als Empfänger für die Content-Lambda-Funktion. (Ic39ae)

Version 1.5.0-alpha02

5. April 2023

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

Neue Funktionen

  • Neue experimentelle API zur Unterstützung von Lookahead in SubcomposeLayout. Dadurch kann SubcomposeLayout in einem LookaheadScope ordnungsgemäß funktionieren. Bald wird es mehr sofort einsatzbereite Unterstützung für bestimmte Untertypen von SubcomposeLayout geben.

API-Änderungen

  • Neue SubcomposeLayout API, die eine zusätzliche Richtlinie für Zwischenmessungen zur Verarbeitung der Mess- und Layoutlogik bei Lookahead-basierten Animationen verwendet. (I017d3)

Version 1.5.0-alpha01

22. März 2023

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

API-Änderungen

  • AnimatedContent-APIs sind jetzt stabil. AnimatedContentScope wurde 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 sind veröffentlicht. 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 sind veröffentlicht. Version 1.4.0-alpha05 enthält diese Commits.

Änderungen

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

Version 1.4.0-alpha04

11. Januar 2023

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

Neue Funktionen

  • Das Tooling-Label wird in rememberInfiniteTransition und allen Erweiterungsfunktionen für 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 sind veröffentlicht. Version 1.4.0-alpha03 enthält diese Commits.

API-Änderungen

  • Bei UI-Tests mit einer Compose-Regel werden Fortsetzungen, die während withFrameNanos-Rückrufen fortgesetzt werden, erst nach Abschluss aller Frame-Rückrufe gesendet. Dies entspricht dem Verhalten von Compose bei normaler Ausführung. Tests, die auf dem alten Verhalten basieren, können jedoch fehlschlagen. Dies sollte sich nur auf Code auswirken, der withFrameNanos oder withFrameMillis direkt aufruft und Logik außerhalb des an diese Funktionen übergebenen Rückrufs enthält, die möglicherweise in die Rückrufe verschoben werden muss. In dieser CL finden Sie Beispiele für Änderungen am Animationstest.
  • Dem Konstruktor und der Factory-Funktion von TestMonotonicFrameClock wurde der optionale Parameter onPerformTraversals: (Long) -> Unit hinzugefügt, um Code nach withFrameNanos-Callbacks, aber vor dem Fortsetzen der Coroutinen der Aufrufer auszuführen. (Idb413, b/254115946, b/222093277, b/255802670)
  • Neuer Parameter in AnimatedContent für das Tooling-Label (Iebe2d)

Version 1.4.0-alpha02

9. November 2022

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

API-Änderungen

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

Version 1.4.0-alpha01

24. Oktober 2022

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

Fehlerkorrekturen

  • Falsche Unterbrechungsanimation in AnimatedContent behoben (b/238662479)

Version 1.3

Version 1.3.3

11. Januar 2023

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

  • Keine Änderungen seit Version 1.3.2.

Version 1.3.2

7. Dezember 2022

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

Fehlerkorrekturen

  • Aktualisiert zur Unterstützung von androidx.compose.ui 1.3.2

Version 1.3.1

9. November 2022

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

Version 1.3.0

24. Oktober 2022

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

Wichtige Änderungen seit Version 1.2.0

  • Neue Reihe von Easing-Funktionen ist stabil

Version 1.3.0-rc01

5. Oktober 2022

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

Version 1.3.0-beta03

21. September 2022

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

  • Keine Änderungen seit Version 1.3.0-beta02.

Version 1.3.0-beta02

7. September 2022

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

  • „Kotlin.experimental“ wurde aus den Compileroptionen entfernt, da es nicht mehr unterstützt wird.

Version 1.3.0-beta01

24. August 2022

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

Version 1.3.0-alpha03

10. August 2022

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

API-Änderungen

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

Version 1.3.0-alpha02

27. Juli 2022

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

Version 1.3.0-alpha01

29. Juni 2022

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

API-Änderungen

  • Neuer LookaheadLayout, der einen Lookahead-Pass vor der eigentlichen Messung/dem eigentlichen Layout unterstützt. So kann das Layout vorab berechnet werden, wenn es sich ändert. Gleichzeitig kann für die Maßnahme/das Layout nach dem Lookahead die vorab berechnete Größe/Position verwendet werden, um die Größe und Positionen in Richtung des Ziels zu animieren. SubcomposeLayouts werden noch nicht unterstützt, aber in einem zukünftigen Release. (I477f5)

Version 1.2

Version 1.2.1

10. August 2022

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

Version 1.2.0

27. Juli 2022

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

Wichtige Änderungen seit Version 1.1.0

  • Compose-Animationen unterstützen jetzt die Einstellung „Animator duration scale“ (Skalierung der Animator-Dauer) aus den Entwickleroptionen.
  • Eine große Auswahl an neuen experimentellen Kurven für das Ein- und Ausblenden.
  • AnimatedImageVector unterstützt 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 sind veröffentlicht. Version 1.2.0-rc03 enthält diese Commits.

  • Keine Änderungen seit Version 1.2.0-rc02.

Version 1.2.0-rc02

22. Juni 2022

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

Fehlerkorrekturen

  • Die Annotation ExperimentalEasingApi wurde für Easing-Funktionen (Ied441) entfernt.

Version 1.2.0-rc01

15. Juni 2022

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

API-Änderungen

  • Schnittstellen in Compose-Bibliotheken werden jetzt mit den Standard-Schnittstellenmethoden von JDK8 erstellt (I5bcf1).

Version 1.2.0-beta03

1. Juni 2022

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

API-Änderungen

  • Experimentelle Easing-Kurven für Animationen hinzugefügt (I64a38)

Version 1.2.0-beta02

18. Mai 2022

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

Version 1.2.0-beta01

11. Mai 2022

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

  • Dies ist die erste Betaversion von 1.2. Seit der letzten Alphaversion hat sich nichts geändert.

Version 1.2.0-alpha08

20. April 2022

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

Version 1.2.0-alpha07

6. April 2022

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

API-Änderungen

  • AnimatedImageVector unterstützt 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 sind veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.

API-Änderungen

  • Das Parsen von Vektordrawables wurde aktualisiert, um das automatische Spiegeln zu unterstützen. Dadurch wird der Inhalt eines VectorPainter gespiegelt, wenn die aktuelle Layoutrichtung RTL ist. (I79cd9, b/185760237)

Fehlerkorrekturen

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

Version 1.2.0-alpha05

9. März 2022

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

API-Änderungen

  • Super! Compose-Animationen unterstützen jetzt die Einstellung „Animator duration scale“ (Skalierung der Animator-Dauer) aus den Entwickleroptionen. (I5a4fc, b/161675988)

Version 1.2.0-alpha04

23. Februar 2022

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

Version 1.2.0-alpha03

9. Februar 2022

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

Version 1.2.0-alpha02

26. Januar 2022

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

Version 1.2.0-alpha01

12. Januar 2022

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

API-Änderungen

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

Fehlerkorrekturen

  • toString-Methoden für Animatable und AnimationResult hinzufügen. (Icd3a6)

Abhängigkeitsupdates

  • Jetzt von Kotlin 1.6.10 abhängig.

Version 1.1

Version 1.1.1

23. Februar 2022

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

Fehlerkorrekturen

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

Version 1.1.0

9. Februar 2022

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

Wichtige Änderungen seit Version 1.0.0

  • Stabile Unterstützung für den Overscroll-Effekt von Android 12
  • Verbesserungen bei der Größe von Berührungszielen
  • Im Vergleich zu Compose 1.0 wird der Layoutbereich von Material-Komponenten erweitert, um den Richtlinien für Bedienungshilfen in Material Design für die Größe von Berührungszielen zu entsprechen. Der Berührungszielbereich einer Schaltfläche wird beispielsweise auf eine Mindestgröße von 48 × 48 dp erweitert, auch wenn Sie die Größe der Schaltfläche kleiner festlegen. Dadurch wird Compose Material an das Verhalten von Material Design Components angepasst. So ist das Verhalten konsistent, wenn Sie Views und Compose mischen. Diese Änderung sorgt auch dafür, dass beim Erstellen der Benutzeroberfläche mit Compose Material-Komponenten die Mindestanforderungen für die Barrierefreiheit von Touch-Zielen erfüllt werden.
  • Stabile Unterstützung für Navigation Rail
  • Eine Reihe zuvor experimenteller APIs wird auf stabil umgestellt.
  • Unterstützung für neuere Versionen von Kotlin

Version 1.1.0-rc03

26. Januar 2022

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

Fehlerkorrekturen

  • Aktualisiert zur Unterstützung von Compose Material 1.1.0-rc03

Version 1.1.0-rc01

15. Dezember 2021

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

API-Änderungen

  • Verwenden Sie AnimatedImageVector.animatedVectorResource anstelle 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 sind veröffentlicht. Version 1.1.0-beta04 enthält diese Commits.

Neue Funktionen

  • Aktualisiert, um mit Kotlin 1.6.0 kompatibel zu sein

Version 1.1.0-beta03

17. November 2021

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

API-Änderungen

  • Der neue Modifikator „Modifier.onPlaced“ wurde hinzugefügt, damit Änderungen bei der Platzierung beobachtet werden können. Zusätzliche Änderungen am Offset des untergeordneten Modifikators können daher auf Grundlage der beobachteten Placement-Änderung vorgenommen werden. (I558fd)
  • Neue Unterstützung für contentKey bei Crossfade. ContentKey wird vom Animationssystem für den Gleichheitstest verwendet. Daher kann ein benutzerdefiniertes Differenzieren von Status erreicht werden, indem für verschiedene Status ein geeigneter „contentKey“ angegeben wird.

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

Version 1.1.0-beta02

3. November 2021

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

Fehlerkorrekturen

  • Neue Animations-APIs zur Unterstützung von Tools. Insbesondere ermöglichen sie es, Animationen und ihre Konfigurationen in einem Übergang zu untersuchen. (I4116e)

Version 1.1.0-beta01

27. Oktober 2021

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

API-Änderungen

  • Neue Animations-APIs zur Unterstützung von Tools. Insbesondere ermöglichen sie es, Animationen und ihre Konfigurationen in einem Übergang zu untersuchen. (I4116e)

Version 1.1.0-alpha06

13. Oktober 2021

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

Version 1.1.0-alpha05

29. September 2021

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

API-Änderungen

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

  • Breaking Change: Lambdas in Enter/ExitTransition-Faktories wurden an die letzte Position in der Parameterliste verschoben. (I5072d)

Version 1.1.0-alpha04

15. September 2021

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

Version 1.1.0-alpha03

1. September 2021

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

Neue Funktionen

  • Compose 1.1.0-alpha03 wurde aktualisiert und hängt jetzt von Kotlin 1.5.30 ab. (I74545)

Version 1.1.0-alpha02

18. August 2021

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

API-Änderungen

  • „StartOffset“ wird jetzt in „repeatable“ und „infiniteRepeatable“ unterstützt, um den Startzeitpunkt zu verzögern oder die Animation vor dem Start vorzuspulen. Dieser Start-Offset wird nicht wiederholt (Ic679f, b/195079908).
  • Neuer Ein-/Ausgangsübergang für die Skalierung. Sie kann in Kombination mit anderen Arten von Enter-/ExitTransitions verwendet werden. (I372da, b/191325593)

Version 1.1.0-alpha01

4. August 2021

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

API-Änderungen

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

Fehlerkorrekturen

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

Version 1.0.4

13. Oktober 2021

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

Abhängigkeitsupdates

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

Version 1.0.3

29. September 2021

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

Abhängigkeitsupdates

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

Version 1.0.2

1. September 2021

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

Aktualisiert zur Unterstützung der Compose-Version 1.0.2. Compose 1.0.2 ist weiterhin mit Kotlin 1.5.21 kompatibel.

Version 1.0.1

4. August 2021

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

Abhängigkeitsupdates

  • Die Abhängigkeit wurde auf Kotlin 1.5.21 aktualisiert.

Version 1.0.0

28. Juli 2021

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

Wichtige Funktionen von Version 1.0.0

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

Bekannte Probleme

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

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

    Um das Problem zu beheben, erhöhen Sie vorübergehend die minSdkVersion in Ihrer build.gradle-Datei auf 24 oder höher. Dieses Problem wird in der nächsten Version von Android Studio Bumblebee und 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 veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.

Version 1.0.0-rc01

1. Juli 2021

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

Fehlerkorrekturen

  • InfiniteAnimationPolicy wurde nach 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 veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.

API-Änderungen

  • Neue AnimatedContent-Composable. Die Inhalte werden mithilfe von anpassbaren ContentTransform verwaltet, wenn neue Zielinhalte hinzukommen und ursprüngliche Inhalte entfernt werden. Durch die Kombination verschiedener Ein- und Ausblendungseffekte lässt sich ein individuelles Erscheinungsbild erzielen. Im Rahmen der Inhaltsumwandlung wird die Größe von AnimatedContent automatisch animiert, um sie an den eingehenden Inhalt anzupassen. (I2c3df)
  • ManualFrameClock wurde entfernt. Wenn Sie Animationen steuern möchten, verwenden Sie stattdessen composeTestRule.mainClock. (I3c3e8, b/189951065)

Hinzugefügte Profilregeln

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

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

Was sind Profilregeln?

  • Profilregeln für eine Bibliothek werden in einer Textdatei baseline-prof.txt angegeben, die sich im Verzeichnis src/main oder einem entsprechenden Verzeichnis befindet. In der Datei wird eine Regel pro Zeile angegeben. Eine Regel ist in diesem Fall ein Muster, das mit Methoden oder Klassen in der Bibliothek abgeglichen wird. Die Syntax für diese Regeln ist eine Obermenge des menschenlesbaren ART-Profilformats, das bei der Verwendung von adb shell profman --dump-classes-and-methods ... verwendet wird. Diese Regeln können entweder auf Methoden oder auf Klassen ausgerichtet sein.

  • Eine Methodenregel hat das folgende Muster:

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

    <CLASS_DESCRIPTOR>
    
  • Dabei ist <FLAGS> eines oder mehrere der 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. Die Methode fun isPlaced(): Boolean für LayoutNode hat beispielsweise die Signatur isPlaced()Z.

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

Was bewirken die Regeln?

  • Eine Methode mit dem Flag H ist eine „heiße“ Methode und sollte vorab kompiliert werden.

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

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

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

So funktioniert's

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

Version 1.0.0-beta08

2. Juni 2021

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

Fehlerkorrekturen

  • Die Positionsänderung wird jetzt automatisch von detectDragGesures, detectVerticalGestures und detectHorizontalGestures übernommen. Es ist nicht mehr erforderlich, „change.consumePositionChange“ in den „onDrag“-Callbacks aufzurufen (I42fc4, b/185096350, b/187320697).
  • Modifier.onGloballyPositioned() wurde geändert, um die Koordinaten dieses Modifikators in der Modifikator-Kette zu melden, nicht die Layoutkoordinaten nach Anwendung aller Modifikatoren. Das bedeutet, dass die Reihenfolge der Modifizierer jetzt beeinflusst, welche Koordinaten gemeldet werden. (Ieb67d, b/177926591)

Version 1.0.0-beta07

18. Mai 2021

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

API-Änderungen

  • Neue AnimatedVisibility-APIs, die die Angabe der Sichtbarkeit in einer MutableTransitionState unterstützen. Dadurch können die Animationsstatus auch außerhalb von AnimatedVisibility über currentState und isIdle beobachtet werden.
    • Unterstützung für neue untergeordnete Übergänge in Transition
    • Unterstützung benutzerdefinierter Übergangsanimationen beim Ein- und Ausblenden in AnimatedVisibility mit AnimationScope.transition
    • Neuer animateEnterExit-Modifier für alle untergeordneten Elemente von AnimatedVisibility verfügbar
    • Die AnimatedVisibility-APIs, die einen initiallyVisible-Parameter verwenden, wurden eingestellt (I702f3).

Version 1.0.0-beta06

5. Mai 2021

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

Version 1.0.0-beta05

21. April 2021

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

Fehlerkorrekturen

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

Version 1.0.0-beta04

7. April 2021

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

API-Änderungen

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

Version 1.0.0-beta02

10. März 2021

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

Fehlerkorrekturen

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

Version 1.0.0-beta01

24. Februar 2021

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

Dies ist die erste Version von Compose 1.0.0 Beta.

API-Änderungen

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

Version 1.0.0-alpha12

10. Februar 2021

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

API-Änderungen

  • Modifier.pointerInput erfordert jetzt Remember-Schlüssel, um anzugeben, wann die Pointer-Eingabeerkennungs-Coroutine für neue Abhängigkeiten neu gestartet werden soll. (I849cd)
  • „Bounds“ wurde in „DpRect“ (I4b32a) umbenannt.
  • Der Parametername für AnimationSpec wurde im gesamten Animationssystem in „animationSpec“ geändert. Beschränken Sie auch Enter/ExitTransition so, dass nur FiniteAnimationSpec akzeptiert wird. (Ie47c5, b/177457083)
  • Animatable.snapTo und Animatable.stop sind jetzt suspend-Funktionen (If4288)
  • Ähnlich wie wir zuvor die zusammensetzbare Funktion state { 0 } entfernt und die Verwendung von remember { mutableStateOf(0) } gefördert haben, werden wir die zusammensetzbare Funktion savedInstanceState { 0 } entfernen. Verwenden Sie stattdessen rememberSaveable { mutableStateOf(0) }. Der Wert wird automatisch gespeichert und wiederhergestellt, wenn der Typ, der in MutableState verwendet wird, im Bundle gespeichert werden kann. Wenn Sie zuvor ein benutzerdefiniertes Saver-Objekt übergeben haben, müssen Sie jetzt eine neue Überladung von „rememberSaveable“ mit dem Parameter stateSaver verwenden. Die Verwendung sieht so aus: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Die Methodensignatur von „Crossfade“ wurde aktualisiert, um sie besser an das restliche Animationssystem anzupassen. (Ib05ed, b/177457083)
  • rememberSavedInstanceState() wurde in rememberSaveable() umbenannt und in das Paket androidx.compose.runtime.saveable verschoben. (I1366e, b/177338004)
  • „RestorableStateHolder“ wurde in „SaveableStateHolder“ umbenannt und in das Paket „androidx.compose.runtime.saveable“ verschoben. Die innere Methode „RestorableStateProvider“ wurde in „SaveableStateProvider“ umbenannt. Der generische Typ wurde entfernt, sodass Sie einfach „Any“ als Schlüssel übergeben können. Die experimentelle Anmerkung ist nicht mehr erforderlich. (I0902e, b/174598702)
  • Die Modifier.animateContentSize API wurde aktualisiert, um mit dem Rest des Animationssystems konsistent zu sein. (I0bf75, b/177457083)
  • AnimatedValue/Float wurde eingestellt. Verwenden Sie stattdessen „Animatable“. (I71345, b/177457083)
  • „tapGestureFilter“, „doubleTapGestureFilter“, „longPressGestureFilter“ und „pressIndicaitonGestureFilter“ wurden eingestellt. Verwenden Sie stattdessen Modifier.clickable oder Modifier.pointerInput mit der Funktion detectTapGestures. (I6baf9, b/175294473)
  • Es wurde ein InfiniteAnimationPolicy-Coroutine-Kontextelement eingeführt, das in Endlosanimationen angewendet wird. Standardmäßig ist keine Richtlinie installiert, außer wenn Tests mit ComposeTestRule ausgeführt werden. (I50ec4, b/151940543)
  • Die Methoden „Destructuring“ und „copy()“ wurden aus mehreren Klassen entfernt, in denen sie nur selten verwendet wurden. (I26702, b/178659281)
  • Die Spielzeit in Animationen wird jetzt in Nanosekunden angegeben (If776a)
  • Das Artefakt „compose:runtime-dispatch“ ist jetzt veraltet. MonotonicFrameClock befindet sich jetzt in compose:runtime und AndroidUiDispatcher in compose:ui. (Ib5c36)
  • Animation.isInfinite und VectorizedAnimationSpec.isInfinite wurden hinzugefügt, um anzugeben, ob eine Animation unendlich ist oder nicht. Dies kann in Implementierungen von Animationen verwendet werden, um eine spezielle Verarbeitung solcher Animationen zu ermöglichen. So kann beispielsweise eine spezielle Meldung zur verbleibenden Zeit angezeigt werden oder die Animation kann während Tests abgebrochen werden, um unbegrenztes Warten auf den Leerlauf zu verhindern. (Iebb05, b/151940543)
  • „Long“ anstelle von „Uptime“ als Animationstyp verwenden (Ie3aa7, b/177420019)

Version 1.0.0-alpha11

28. Januar 2021

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

API-Änderungen

  • Auf TransitionDefinition basierende Übergänge sind veraltet (I0ac57)
  • Ein Label-Feld wird für Übergangs- und untergeordnete Animationen hinzugefügt, die in Tools angezeigt werden sollen (I619fb).
  • animateAsState heißt jetzt animateFooAsState, wobei Foo der Typ der animierten Variablen ist, z. B.Float, Dp oder Offset. (Ie7e25)
  • Neue InfiniteTransition, die beliebig viele untergeordnete Animationen ausführt. (I1da81)
  • Änderungen an zustandsorientierten Materialparameter-Schnittstellen, sodass sie @Composable-Funktionen haben, die State<T> zurückgeben. Es wurde Animatable.asState() hinzugefügt, um die Konvertierung von Animatable in State zu vereinfachen. Außerdem wird „animateElevation“ in eine Suspend-Erweiterung für „Animatable“ geändert. (If613c)

Fehlerkorrekturen

  • Die APIs „onCommit“, „onDispose“ und „onActive“ wurden zugunsten der APIs „SideEffect“ und „DisposableEffect“ eingestellt (If760e).
  • Der Ausgangsstatus in „updateTransition“ wird jetzt unterstützt (Ifd51d).
  • Dem Bild und dem Symbol wurde der Parameter „Inhaltsbeschreibung“ hinzugefügt. Sie wird verwendet, um Bedienungshilfen (I2ac4c) eine Beschreibung zu geben.
  • invalidate und compositionReference() sind jetzt zugunsten von currentRecomposeScope bzw. rememberCompositionReference veraltet. (I583a8)
  • „Duration“ und „Uptime“ werden durch „Long milliseconds“ ersetzt. Durch diesen Schritt wird die Abhängigkeit der Zeigereingabe von diesen Klassen entfernt. (Ia33b2, b/175142755, b/177420019)
  • Klickbare, ein- und ausschaltbare sowie auswählbare Elemente können jetzt außerhalb der Komposition erstellt werden (I0a130, b/172938345, b/175294473).
  • Die Funktion „Easing“ wurde in eine funktionale Schnittstelle (Ib14e5) geändert.
  • Neue items(count: Int)-Factory-Methode für den Bereich von LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) und itemsIndexed(items: List) sind jetzt Erweiterungsfunktionen und müssen daher manuell importiert werden, wenn sie verwendet werden. Neue Erweiterungsüberladungen für Arrays: „items(items: Array)“ und „itemsIndexed(Array)“ (I803fc, b/175562574)
  • TestCoroutineDispatcher in Tests verwenden (I532b6)
  • PointerInputData wurde entfernt und PointerInputChange wurde so geändert, dass es alle Felder von PointerInputData enthält. PointerInputEvent und PointerInputEventData wurden intern gemacht, da sie in keiner öffentlichen API verwendet werden. (Ifff97, b/175142755)

Version 1.0.0-alpha10

13. Januar 2021

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

API-Änderungen

  • Velocity wurde so geändert, dass es aus Komponenten besteht und mathematische Operationen unterstützt. (Ib0447)
  • @ExperimentalTesting wurde in @ExperimentalTestApi umbenannt, um mit ähnlichen experimentellen API-Anmerkungen (Ia4502, b/171464963) konsistent zu sein.
  • Position in „DpOffset“ umbenannt und „getDistance()“ entfernt (Ib2dfd)
  • Öffentliche API „Any.identityHashCode()“ entfernt (I025d7)

Fehlerkorrekturen

  • Neue auf Coroutinen basierende API Animatable, die für gegenseitigen Ausschluss zwischen den Animationen sorgt. Neue DecayAnimationSpec zur Unterstützung mehrdimensionaler Decay-Animationen (I820f2, b/168014930)
  • animate() wurde durch animateAsState() ersetzt, das anstelle von T ein State<T> zurückgibt. Dies ermöglicht eine bessere Leistung, da der Ungültigkeitsbereich auf den Ort eingegrenzt werden kann, an dem der Statuswert gelesen wird. (Ib179e)

Version 1.0.0-alpha09

16. Dezember 2020

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

API-Änderungen

  • Dp.VectorConverter, Position.VectorConverter usw. wurden in „animation-core“ verschoben und die alten VectorConverter (If0c4b) sind veraltet.
  • Es wurde eine völlig neue Reihe von Transition APIs eingeführt, die benutzerfreundlicher sind und Unterstützung für dynamisch hinzugefügte Animationen und dynamisch berechnete Animationsziele bieten. Diese APIs sind als experimentell gekennzeichnet, um sie leicht von der TransitionDefinition-basierten API zu unterscheiden. (Ia7fe3)

Fehlerkorrekturen

  • Lambdas in Offset-Modifizierern geben jetzt „IntOffset“ anstelle von „Float“ zurück. (Ic9ee5, b/174137212, b/174146755)
  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed und LazyRowForIndexed werden eingestellt. LazyColumn und LazyRow verwenden (I5b48c)
  • Für das Anhalten von APIs für die Zeigereingabe wurde HandlePointerInputScope in AwaitPointerEventScope und handlePointerInput() in awaitPointerEventScope() umbenannt. (Idf0a1, b/175142755)
  • Neue Funktion „infiniteRepeatable“ zum Erstellen eines InfiniteRepeatableSpec (I668e5)
  • Die Annotation „ExperimentalPointerInput“ (Ia7a24) wurde entfernt.

Version 1.0.0-alpha08

2. Dezember 2020

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

API-Änderungen

  • Es wurde eine Lint-Prüfung für die Benennung und Position von zusammensetzbaren Lambda-Parametern hinzugefügt, um die Einhaltung der Compose-Richtlinien zu prüfen. Außerdem wurden einige APIs, die children als Namen für ihr nachgestelltes Lambda verwenden, gemäß Lint-Prüfung und Anleitung zu content migriert. (Iec48e)
  • Zuvor verworfene 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 hinzugefügte Option, mit der die TestAnimationClock von der MonotonicFrameClock gesteuert werden kann (I1403b, b/173402197)

Fehlerkorrekturen

  • „Modifier.drawLayer“ wurde in „Modifier.graphicsLayer“ umbenannt. Außerdem wurden zugehörige Klassen gemäß dem Feedback des API-Teams in „GraphicsLayer“ aktualisiert. (I0bd29, b/173834241)
  • Die APIs „Modifier.scale“/„rotate“ wurden als Convenience-Funktionen für „drawLayer“ hinzugefügt.
    • „Modifier.drawOpacity“ wurde in „Modifier.alpha“ umbenannt.
    • Modifier.drawShadow wurde in Modifier.shadow umbenannt (I264ca, b/173208140)
  • Die Felder „uptime“ und „position“ von „PointerInputData“ sind jetzt nicht mehr nullable. (Id468a)
  • Die offsetPx-Modifikatoren wurden in „offset“ umbenannt. Sie akzeptieren jetzt Lambda-Parameter anstelle von „State“. (Ic3021, b/173594846)
  • Neue APIs zum Ausführen von Animationen in Coroutinen (Ied662)
  • Wir haben die verworfenen Ambients mit dem Suffix Ambient ersetzt und neue Eigenschaften mit dem Präfix „Ambient“ eingeführt, die anderen Ambients und den Compose-API-Richtlinien entsprechen. (I33440)
  • Die Zeitsteuerung in Tests (TestAnimationClock und ihre Verwendung) ist jetzt experimentell (I6ef86, b/171378521).
  • Altes ui-test-Modul und seine Stubs entfernen (I3a7cb)
  • Die Funktion RestorableStateHolder.withRestorableState wurde in RestorableStateProvider umbenannt (I66640)
  • Die Benutzeroberfläche für die Ausrichtung wurde aktualisiert und funktionsfähig gemacht. (I46a07, b/172311734)

Version 1.0.0-alpha07

11. November 2020

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

Fehlerkorrekturen

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

Version 1.0.0-alpha06

28. Oktober 2020

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

API-Änderungen

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

Version 1.0.0-alpha05

14. Oktober 2020

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

API-Änderungen

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

Fehlerkorrekturen

  • OnPositionedModifier wurde in OnGloballyPositionedModifier umbenannt und onPositioned() in onGloballyPositioned(). (I587e8, b/169083903)
  • Die APIs „contentColor()“ und „currentTextStyle()“ werden eingestellt und durch die Ambient-Variablen „AmbientContentColor“ und „AmbientTextStyle“ ersetzt. Sie können auf den aktuellen Wert zugreifen, indem Sie .current für die Ambient-Eigenschaft verwenden, wie bei jedem anderen Ambient. Diese Änderung wurde vorgenommen, um die Einheitlichkeit zu verbessern und mehrere Möglichkeiten zur Erledigung derselben Aufgabe zu vermeiden. Außerdem wurden einige Ambient-Properties umbenannt, um ihren Zweck besser zu beschreiben:

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

Version 1.0.0-alpha04

1. Oktober 2020

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

API-Änderungen

  • Annotate rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled and textInputServiceFactory with @VisibleForTesting, make them internal API and hide their kdoc (I554eb, b/168308412)

Fehlerkorrekturen

  • Viele Grafik-APIs wurden aktualisiert.
    • Die APIs für die Skalierungs- und Rotations-Transformation wurden aktualisiert, sodass sie einen einzelnen Offset-Parameter für die Darstellung der Pivot-Koordinate anstelle separater Gleitkommaparameter für die x-/y-Koordinaten in DrawScope und DrawTransform verwenden.
    • Die Methoden „Rect.expandToInclude“ und „Rect.join“ wurden entfernt.
    • Die Dokumentation zum Radius wurde aktualisiert und enthält jetzt neben „elliptisch“ auch „oval“.
    • Dokumentation hinzugefügt, um darauf hinzuweisen, dass der öffentliche Konstruktor für die Inline-Klasse „Radius“ nicht direkt aufgerufen werden darf, sondern Radius-Objekte über ihre Funktionskonstruktoren instanziiert werden müssen.
    • Die RoundRect-APIs zum Abfragen von topRight, bottomRight, bottomCenter usw. wurden entfernt.
    • Rect.shift zugunsten von Rect.translate eingestellt
    • Entfernte APIs „RoundRect.grow“ und „Rect.shrink“
    • RoundRect.outerRect wurde in Rect.boundingRect umbenannt
    • Die Methoden „RoundRect.middleRect/tallMiddleRect/wideMiddleRect“ und „Rect.isStadium“ wurden entfernt.
    • RoundRect.longestSide wurde in RoundRect.maxDimension umbenannt.
    • RoundRect.shortestSide wurde in RoundRect.minDimension umbenannt
    • RoundRect.center ist jetzt eine Eigenschaft anstelle einer Funktion.
    • Der RoundRect-Konstruktor wurde aktualisiert, sodass er Radius-Eigenschaften anstelle von einzelnen Parametern für x-/y-Radiuswerte verwendet.
    • Entfernte Größen-APIs, bei denen davon ausgegangen wurde, dass es sich um ein Rechteck mit dem Ursprung bei 0,0 handelt
    • Destrukturierungs-API zu Radius hinzugefügt
    • Verschiedene RoundRect-Erweiterungsfunktionen wurden zu Eigenschaften migriert.
    • (I8f5c7, b/168762961)
  • foundation.Box wurde eingestellt. Verwenden Sie stattdessen foundation.layout.Box. (Ie5950, b/167680279)
  • Der Stapel wurde in „Box“ umbenannt. Die zuvor vorhandene Box wird zugunsten der neuen Box in compose.foundation.layout eingestellt. In der neuen Box werden untergeordnete Elemente übereinander gestapelt, wenn sie mehrere untergeordnete Elemente enthält. Das ist anders als bei der vorherigen Box, die sich ähnlich wie eine Spalte verhalten hat. (I94893, b/167680279)
  • Die Parameter für die Box-Dekoration wurden eingestellt. Wenn Sie Dekorationen/Abstände für Ihre Box festlegen möchten, verwenden Sie stattdessen Modifiers (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279).
  • Wir haben statische Importe von Inhalten von Layout-Scopes (z.B. „alignWithSiblings“ in „RowScope“) verhindert. Verwenden Sie stattdessen die explizite Bereichsalternative: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Version 1.0.0-alpha03

16. September 2020

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

Fehlerkorrekturen

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

Version 1.0.0-alpha02

2. September 2020

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

API-Änderungen

  • ManualFrameClock.hasAwaiters wurde hinzugefügt, um zu prüfen, ob ein Frame von dieser Taktquelle erwartet wird. runWithManualClock als Ersatz für runBlocking beim Ausführen von Tests, die eine ManualFrameClock erfordern. TestUiDispatcher.Main bietet einfachen Zugriff auf den Haupt-UI-Dispatcher in Ihren Tests.

    Beispiel:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b, b/161247083)

Fehlerkorrekturen

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

    „onCommit“ und „onActive“ werden jetzt im selben Choreographer-Frame ausgeführt, in dem die Änderungen an der Komposition übernommen werden, und nicht am Anfang des nächsten Choreographer-Frames. (I70403)

Version 1.0.0-alpha01

26. August 2020

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

Version 0.1.0-dev

Version 0.1.0-dev17

19. August 2020

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

Neue Funktionen

API-Änderungen

  • Der Offset ist jetzt eine Inline-Klasse (Iaec70).
  • IntOffset ist jetzt eine Inline-Klasse (Iac0bf)
  • IntSize ist jetzt eine Inline-Klasse (I2bf42)
  • Die zusammensetzbare Funktion „AnimatedVisibilty“ animiert das Ein- und Ausblenden der untergeordneten Inhalte.

    EnterTransition und ExitTransition wurden eingeführt, um mit der zusammensetzbaren AnimatedVisibility zu arbeiten und drei verschiedene Arten von Ein- und Ausblendanimationen zu ermöglichen: Ein- und Ausblenden, Ein- und Ausblenden durch Schieben sowie Ein- und Ausblenden durch Vergrößern und Verkleinern des Inhalts. Die verschiedenen Arten von Animationen lassen sich kombinieren, um ein individuelleres Erscheinungsbild zu erzielen. (Idda11)

  • PxBounds wurde zugunsten von Rect eingestellt. Alle Verwendungen von PxBounds wurden durch „rect“ ersetzt und es wurden entsprechende Annotations für die Einstellung und den Ersatz hinzugefügt, um die Migration zu erleichtern. (I37038, b/162627058)

Fehlerkorrekturen

  • PlacementScope.placeAbsolute() wurde in PlacementScope.place() umbenannt und das vorherige PlacementScope.place() wurde in PlacementScope.placeRelative() umbenannt. Daher wird die Position in Kontexten mit Leserichtung von rechts nach links nicht mehr automatisch gespiegelt.PlacementScope.place() Wenn dies gewünscht ist, verwenden Sie stattdessen PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Die zusammensetzbare Funktion state { ... } ist jetzt zugunsten expliziter Aufrufe von remember { mutableStateOf(...) } eingestellt. Dadurch wird die gesamte API-Oberfläche und die Anzahl der Konzepte für die Statusverwaltung reduziert und das by mutableStateOf()-Muster für die Delegierung von Klasseneigenschaften wird eingehalten. (Ia5727)

Version 0.1.0-dev16

5. August 2020

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

API-Änderungen

  • Integrierte Vektorkonverter zum Umwandeln integrierter Einheiten sind jetzt über Foo.VectorConverter verfügbar. z. B. Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter usw. (I3e273)
  • Unterstützung für End-Listener in Modifier.animateContentSize(), sodass der Listener benachrichtigt wird, wenn die Größenänderungsanimation abgeschlossen ist. Außerdem werden die Start- und Endgröße der Animation übergeben. (I277b2)
  • Neuer Modifier „animateContentSize“, mit dem die Layoutgrößenänderung des untergeordneten Modifiers (Ieffdc) animiert wird
  • MonotonicFrameAnimationClock wurde hinzugefügt, damit Sie eine MonotonicFrameClock als AnimationClockObservable verwenden können, um die Lücke zwischen den neuen auf Coroutinen basierenden Taktgebern und APIs zu schließen, die weiterhin die alten auf Callbacks basierenden Taktgeber verwenden.

    Die MonotonicFrameClock-Entsprechung von ManualAnimationClock ist jetzt ManualFrameClock. (I111c7, b/161247083)

Fehlerkorrekturen

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

Version 0.1.0-dev15

22. Juli 2020

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

Abhängigkeiten aktualisieren

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

API-Änderungen

  • Die Transition API wurde geändert, sodass sie einen TransitionState zurückgibt, anstatt den TransitionState an untergeordnete Elemente zu übergeben. Dadurch wird die API konsistenter mit den animate()-APIs. (I24e38)
  • Parameter für Modifikator für Crossfade hinzugefügt (I87cfe, b/159706180)
  • Verwenden Sie AnimationSpec anstelle von AnimationBuilder in den APIs der obersten Ebene, um das Konzept der statischen Animationsspezifikation zu verdeutlichen.
    • Die Übergangs-DSL wurde verbessert, indem die Lambda-Anforderung für das Erstellen von AnimationSpecs wie „tween“ und „spring“ entfernt wurde. Stattdessen werden Konstruktorparameter direkt verwendet.
    • Die allgemeine Benutzerfreundlichkeit von AnimationSpec wird verbessert, indem Konstruktoren anstelle von Buildern verwendet werden.
    • Die Dauer und Verzögerung für KeyFrames und Tween werden in „Int“ geändert. Dadurch werden unnötige Typumwandlungen und Methodenüberladungen (zur Unterstützung von „Long“ und „Int“) vermieden. (Ica0b4)
  • Die Verwendung von „IntPx“ wurde durch „Int“ ersetzt. „IntPxPosition“ wurde durch „IntOffset“ ersetzt. „IntPxSize“ wurde durch „IntSize“ ersetzt. (Ib7b44)
  • Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Größeninformationen verwendet werden, sollten Sie die Klasse „Size“ anstelle von „PxSize“ verwenden. Dies bietet die Vorteile einer Inline-Klasse, um einen Long-Wert zu nutzen, um zwei Float-Werte zu packen, die Breite und Höhe als Floats darstellen. (Ic0191)
  • Um die Anzahl der Klassen zu reduzieren, die zur Darstellung von Positionsinformationen verwendet werden, wird die Verwendung der Offset-Klasse anstelle von PxPosition standardisiert. Dies bietet die Vorteile einer Inline-Klasse, um einen „long“-Wert zu verwenden, um zwei Gleitkommawerte zu packen, die als Gleitkommazahlen dargestellte x- und y-Offsets darstellen. (I3ad98)
  • Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um sich bei Pixelparametern nur auf Dp und primitive Typen zu verlassen (I086f4).
  • Unterstützung für animate() für Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds und AnimationVector hinzugefügt (Ib7518)
  • Für Crossfade wird jetzt ein optionaler AnimationBuilder-Parameter akzeptiert, mit dem die Animation konfiguriert werden kann (I6d6e0).
  • Alle Verwendungen von „nullable Color“ in der API wurden durch „non-nullable“ ersetzt und anstelle von „null“ wird „Color.Unset“ verwendet (Iabaa7).
  • Die ValueHolder-Klasse wurde entfernt. Die Klassen „AnimatedValue“ und „AnimatedFloat“ wurden umstrukturiert, damit das Feld für den Animationswert abstrakt ist und Unterklassen die Aktualisierung des Werts beobachten können.
    • Modellklassen für AnimatedValue, AnimatedFloat usw. hinzugefügt
    • Es wurde eine neue Reihe von einfachen @Composable-APIs zum Animieren zwischen Werten hinzugefügt. (I79530)
  • Funktionsgefährdende Änderungen an der Ambient-API. Weitere Informationen finden Sie im Log und in der Ambient<T>-Dokumentation (I4c7ee, b/143769776).
  • Neuer Wiederholungsmodus: „Rückwärts“. In diesem Modus wird die vorherige Iteration umgekehrt, da sich die Animation in RepeatableSpec oder VectorizedRepeatableSpec wiederholt. (Ibe0f5)
  • API-Ergänzungen für ManualAnimationClock: hasObservers: Boolean und Konstruktorparameter dispatchOnSubscribe: Boolean (Iaa134)
  • APIs zum Abrufen von Mindest- und Höchstgrenzen in AnimatedFloat (Icd9cc) hinzugefügt

Fehlerkorrekturen

  • runOnIdleCompose wurde in runOnIdle umbenannt (I83607)
  • Mehrere Test-APIs wurden umbenannt, um sie intuitiver zu gestalten. Alle findXYZ-APIs wurden in onNodeXYZ umbenannt. Alle doXYZ-APIs wurden in performXYZ umbenannt. (I7f164)
  • Es wurden untergeordnete zustandslose Animations-APIs eingeführt. Diese APIs (I63bf7)
  • Die Recompose-Composable-Funktion ist keine nützliche Abstraktion mehr. Die meisten Neuzusammenstellungen sollten durch Zuweisungen von MutableState erfolgen. Für alles darüber hinaus wird empfohlen, die Funktion invalidate zu verwenden, um eine Neuzusammensetzung des aktuellen Bereichs auszulösen. (Ifc992)
  • Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um für Pixelparameter nur noch Dp und primitive Typen zu verwenden. Die Px-Klasse wurde vollständig gelöscht (I3ff33).
  • Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um sich bei Pixelparametern nur auf Dp und primitive Typen zu verlassen (Id3434).
  • Crossfade kann jetzt mit „null“ als Anfangswert verwendet werden (Iad6a4, b/155947711)
  • Die Verwendung der Px-Klasse in verschiedenen Compose-Klassen wurde im Rahmen der großen Umstellung ersetzt, um sich bei Pixelparametern nur auf Dp und primitive Typen zu verlassen (I19d02).
  • CanvasScope-Implementierungen wurden konsolidiert. Es gibt jetzt nur noch DrawScope und ContentDrawScope. CanvasScope wurde in DrawScope umbenannt. DrawScope wurde aktualisiert, um die Density-Schnittstelle zu implementieren und LayoutDirection bereitzustellen. Die DrawScope-Unterklasse in ContentDrawScope wurde gelöscht. Painter und PainterModifier wurden aktualisiert, um nicht mehr selbst eine RTL-Eigenschaft zu verwalten, da DrawScope diese bereits ohne manuelle Bereitstellung bereitstellt (I1798e).
  • Aktualisierte Compose-APIs auf höherer Ebene, die anstelle von CanvasScope ein Canvas-Objekt bereitstellen. Dadurch müssen Nutzer keine eigenen Paint-Objekte mehr verwalten. Für Nutzer, die weiterhin Zugriff auf ein Canvas benötigen, kann die drawCanvas-Erweiterungsmethode verwendet werden. Sie bietet einen Callback zum Ausgeben von Zeichenbefehlen mit dem zugrunde liegenden Canvas. (I80afd)
  • Den Komponenten „Row“ und „Column“ wurden die Parameter „verticalGravity“ und „horizontalGravity“ hinzugefügt. (I7dc5a)
  • Das Modul „ui-text“ wurde in „ui-text-core“ umbenannt (I57dec).
  • DrawModifier API verbessern:
    • Der Empfängerbereich für draw() wurde zu ContentDrawScope geändert.
    • Alle Parameter für draw() entfernt
    • DrawScope hat dieselbe Benutzeroberfläche wie das frühere CanvasScope.
    • ContentDrawScope hat die Methode drawContent() (Ibaced, b/152919067)
  • runOnIdleCompose und runOnUiThread sind jetzt globale Funktionen anstelle von Methoden für ComposeTestRule. (Icbe8f)
  • [Mutable]State-Property-Delegatenoperatoren wurden in Erweiterungen verschoben, um die Optimierungen für Property-Delegaten in Kotlin 1.4 zu unterstützen. Anrufer müssen Importe hinzufügen, um by state { ... } oder by mutableStateOf(...) weiterhin verwenden zu können. (I5312c)
  • „ColoredRect“ wurde eingestellt. Verwenden Sie stattdessen Box(Modifier.preferredSize(width, height).drawBackground(color)). (I499fa, b/152753731)
  • Modifikator plus Operator durch Factory-Erweiterungsfunktionen ersetzt (I225e4)
  • Eingestellte Center-Composable. Es sollte entweder durch den Modifizierer „LayoutSize.Fill + LayoutAlign.Center“ oder durch eine der Box- oder Stack-Composables mit entsprechenden Modifizierern ersetzt werden (Idf5e0).
  • „LayoutFlexible“ wurde in „LayoutWeight“ umbenannt. Der enge Parameter wurde in „fill“ umbenannt. (If4738)
  • Die zusammensetzbare Funktion „Opacity“ wurde durch den Modifier „drawOpacity“ ersetzt. (I5fb62)
  • Bei Tests mit AndroidComposeTestRule ist jetzt eine Animationsuhr im Stamm der Komposition verfügbar, mit der die Animation pausiert, fortgesetzt und manuell vorangetrieben werden kann. (Id54c5)
  • Unterstützung für die Richtung „Rechts nach links“ im Modifier „LayoutPadding“ (I9e8da)
  • „Density“ und „DensityScope“ wurden in einer Benutzeroberfläche zusammengeführt. Statt ambientDensity() können Sie jetzt DensityAmbient.current verwenden. Anstelle von withDensity(density) nur with(density) (I11cb1)
  • Es wurden Kopiermethoden für verschiedene Inline-Klassentypen hinzugefügt, darunter:
    • Offset
    • Größe
    • Radius
    • Bewegung
    • TransformOrigin
    • Die Companion-Objektmethode „Size.copy“ wurde zugunsten der Instanzmethode „copy“ eingestellt (Ife290, b/159905651).
  • androidx.compose.ViewComposer wurde nach androidx.ui.node.UiComposer verschoben. androidx.compose.Emittable wurde entfernt. Sie war redundant mit ComponentNode. androidx.compose.ViewAdapters wurde entfernt. Sie werden nicht mehr unterstützt. Die Funktion „Compose.composeInto“ wurde eingestellt. Verwenden Sie stattdessen setContent oder setViewContent. Die Funktion „Compose.disposeComposition“ wurde eingestellt. Verwenden Sie stattdessen die Methode dispose für das von setContent zurückgegebene Composition. androidx.compose.Compose.subcomposeInto wurde zu androidx.ui.core.subcomposeInto verschoben. ComponentNode#emitInsertAt wurde in ComponentNode#insertAt umbenannt. ComponentNode#emitRemoveAt wurde in ComponentNode#removeAt umbenannt. ComponentNode#emitMode wurde in ComponentNode#move umbenannt (Idef00).