Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Compose Animation

Création d'animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
11 novembre 2022 1.3.3 - - 1.4.0-alpha04

Structure

Compose est une combinaison de sept identifiants de groupe Maven dans androidx. Chaque groupe contient un sous-ensemble ciblé de fonctionnalités, chacun avec son propre ensemble de notes de version.

Ce tableau décrit les différents groupes et renvoie à chaque ensemble de notes de version.

GroupeDescription
compose.animationCréer des animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur.
compose.compilerTransformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin.
compose.foundationConception d'applications Jetpack Compose avec des composants de base prêts à l'emploi et extension de la base pour créer vos propres éléments de système de conception.
compose.materialCréation d'UI Jetpack Compose avec des composants Material Design prêts à l'emploi. Il s'agit du point d'entrée de niveau supérieur de Compose, conçu pour fournir des composants qui correspondent à ceux décrits sur www.material.io.
compose.material3.Création d'UI Jetpack Compose grâce aux composants Material Design 3, la nouvelle évolution de Material Design. Material 3 inclut des thématisations et des composants mis à jour ainsi que des fonctionnalités de personnalisation Material You telles que les couleurs dynamiques. Material 3 est conçu pour correspondre au nouveau style visuel et à l'UI du système Android 12.
compose.runtimeComposants fondamentaux du modèle de programmation et de la gestion d'état de Compose, et environnement d'exécution principal du plug-in Compose Compiler à cibler.
compose.uiComposants fondamentaux de l'interface utilisateur de Compose nécessaires pour interagir avec l'appareil, y compris la mise en page, le dessin et la saisie.

Déclarer des dépendances

Pour ajouter une dépendance sur Compose, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances des artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou module :

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.3.2"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.3.2"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.4

Version 1.4.0-alpha04

11 janvier 2023

Publication de androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04 et androidx.compose.animation:animation-graphics:1.4.0-alpha04. Liste des commits de la version 1.4.0-alpha04

Nouvelles fonctionnalités

  • Prise en charge du libellé d'outil dans rememberInfiniteTransition et toutes les fonctions d'extension de InfiniteTransition et Transition (par exemple, InfiniteTransition#animateColor) (I56ef7)

Modifications apportées à l'API

  • Les API InfiniteTransition#TransitionAnimationState et InfiniteTransition#animations sont désormais publiques. (I36682)

Version 1.4.0-alpha03

7 décembre 2022

Publication de androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 et androidx.compose.animation:animation-graphics:1.4.0-alpha03. Liste des commits de la version 1.4.0-alpha03

Modifications apportées à l'API

  • Dans les tests d'interface utilisateur avec une règle Compose, les continuations réactivées pendant les rappels withFrameNanos ne sont envoyées que lorsque l'exécution de tous les rappels de frame est terminée. Cela correspond au comportement de Compose en fonctionnement normal. Toutefois, les tests qui reposent sur l'ancien comportement peuvent échouer. Cela ne devrait affecter que le code qui appelle directement withFrameNanos ou withFrameMillis et dont la logique en dehors du rappel est transmise aux fonctions qui peuvent être amenées à être déplacées dans les rappels. Consultez les changements de test d'animation dans cette CL pour voir des exemples.
  • Ajout d'un paramètre onPerformTraversals: (Long) -> Unit facultatif au constructeur TestMonotonicFrameClock et à une fonction de fabrique permettant d'exécuter du code après les rappels withFrameNanos, mais avant de reprendre les coroutines des appelants. (Idb413, b/254115946, b/222093277, b/255802670)
  • Nouveau paramètre dans AnimatedContent pour l'étiquette d'outil (Iebe2d)

Version 1.4.0-alpha02

9 novembre 2022

Publication de androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 et androidx.compose.animation:animation-graphics:1.4.0-alpha02. Liste des commits de la version 1.4.0-alpha02.

Modifications apportées à l'API

  • Ajout de ToolingState pour permettre aux outils de modifier les états internes du composable (Ie6614)

Version 1.4.0-alpha01

24 octobre 2022

Publication de androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 et androidx.compose.animation:animation-graphics:1.4.0-alpha01. Liste des commits de la version 1.4.0-alpha01.

Corrections de bugs

  • Correction d'une animation d'interruption incorrecte dans AnimatedContent (b/238662479)

Version 1.3

Version 1.3.3

11 janvier 2023

Publication de androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 et androidx.compose.animation:animation-graphics:1.3.3. Liste des commits de la version 1.3.3

  • Aucune modification depuis la version 1.3.2.

Version 1.3.2

7 décembre 2022

Publication de androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 et androidx.compose.animation:animation-graphics:1.3.2. Liste des commits de la version 1.3.2.

Corrections de bugs

  • Mise à jour pour prendre en charge androidx.compose.ui 1.3.2

Version 1.3.1

9 novembre 2022

Publication de androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 et androidx.compose.animation:animation-graphics:1.3.1. Liste des commits de la version 1.3.1.

Version 1.3.0

24 octobre 2022

Publication de androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 et androidx.compose.animation:animation-graphics:1.3.0. Liste des commits de la version 1.3.0.

Changements importants depuis la version 1.2.0

  • Nouvel ensemble de fonctions de lissage devenu stable

Version 1.3.0-rc01

5 octobre 2022

Publication de androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 et androidx.compose.animation:animation-graphics:1.3.0-rc01. Liste des commits de la version 1.3.0-rc01.

Version 1.3.0-beta03

21 septembre 2022

Publication de androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 et androidx.compose.animation:animation-graphics:1.3.0-beta03. Liste des commits de la version 1.3.0-beta03.

  • Aucune modification depuis la version 1.3.0-beta02

Version 1.3.0-beta02

7 septembre 2022

Publication d'androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 et androidx.compose.animation:animation-graphics:1.3.0-beta02. Liste des commits de la version 1.3.0-beta02.

  • Suppression de Kotlin.experimental des options du compilateur, car il est obsolète

Version 1.3.0-beta01

24 août 2022

Publication d'androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 et androidx.compose.animation:animation-graphics:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01.

Version 1.3.0-alpha03

10 août 2022

Publication d'androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 et androidx.compose.animation:animation-graphics:1.3.0-alpha03. Liste des commits de la version 1.3.0-alpha03.

Modifications apportées à l'API

  • Nouveau paramètre dans Crossfade, animateAsState et Animatable pour l'étiquette d'outil (Iac08a)
  • Ajout de la fonction atFraction permettant de définir des images clés à la fraction plutôt qu'à une durée spécifique. (I20c76, b/232059455)

Version 1.3.0-alpha02

27 juillet 2022

Publication d'androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 et androidx.compose.animation:animation-graphics:1.3.0-alpha02. Liste des commits de la version 1.3.0-alpha02.

Version 1.3.0-alpha01

29 juin 2022

Publication d'androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 et androidx.compose.animation:animation-graphics:1.3.0-alpha01. Liste des commits de la version 1.3.0-alpha01.

Modifications apportées à l'API

  • Ajout de LookaheadLayout, qui prend en charge une transmission anticipée (lookahead) avant la mesure/mise en page réelle. Cela permet de précalculer la mise en page lorsqu'elle change, tout en permettant à l'outil de mesure/mise en page post-lookahead d'utiliser la taille/position précalculée pour animer la taille et les positions par rapport à la cible. Les SubcomposeLayouts ne sont pas encore pris en charge, mais le seront dans une prochaine version. (I477f5)

Version 1.2

Version 1.2.1

10 août 2022

Publication d'androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 et androidx.compose.animation:animation-graphics:1.2.1. Liste des commits de la version 1.2.1.

Version 1.2.0

27 juillet 2022

Publication d'androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 et androidx.compose.animation:animation-graphics:1.2.0. Liste des commits de la version 1.2.0.

Changements importants depuis la version 1.1.0

  • Les animations Compose sont désormais compatibles avec le paramètre de durée "Animator duration scale" des options pour les développeurs.
  • Grand choix de nouvelles courbes de lissage de vitesse expérimentales.
  • AnimatedImageVector est désormais compatible avec repeatCount et repeatMode

Version 1.2.0-rc03

29 juin 2022

Publication d'androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 et androidx.compose.animation:animation-graphics:1.2.0-rc03. Liste des commits de la version 1.2.0-rc03.

  • Aucune modification depuis la version 1.2.0-rc02

Version 1.2.0-rc02

22 juin 2022

Publication d'androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 et androidx.compose.animation:animation-graphics:1.2.0-rc02. Liste des commits de la version 1.2.0-rc02.

Correction de bugs

  • Suppression de l'annotation ExperimentalEasingApi sur les fonctions de lissage de vitesse (Ied441)

Version 1.2.0-rc01

15 juin 2022

Publication d'androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 et androidx.compose.animation:animation-graphics:1.2.0-rc01. Liste des commits de la version 1.2.0-rc01.

Modifications apportées à l'API

  • Mise à jour des interfaces dans les bibliothèques Compose, désormais créées à l'aide des méthodes d'interface jdk8 par défaut. (I5bcf1)

Version 1.2.0-beta03

1er juin 2022

Publication d'androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 et androidx.compose.animation:animation-graphics:1.2.0-beta03. Liste des commits de la version 1.2.0-beta03.

Modifications apportées à l'API

  • Ajout de courbes de lissage expérimentales pour Animation (I64a38)

Version 1.2.0-beta02

18 mai 2022

Publication d'androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 et androidx.compose.animation:animation-graphics:1.2.0-beta02. Liste des commits de la version 1.2.0-beta02.

Version 1.2.0-beta01

11 mai 2022

Publication d'androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 et androidx.compose.animation:animation-graphics:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01.

  • Il s'agit de la première version bêta de la version 1.2. Aucune modification n'a été apportée depuis la dernière version alpha.

Version 1.2.0-alpha08

20 avril 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 et androidx.compose.animation:animation-graphics:1.2.0-alpha08. Liste des commits de la version 1.2.0-alpha08.

Version 1.2.0-alpha07

6 avril 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 et androidx.compose.animation:animation-graphics:1.2.0-alpha07. Liste des commits de la version 1.2.0-alpha07.

Modifications apportées à l'API

  • AnimatedImageVector est désormais compatible avec repeatCount et repeatMode (Ia3e75, b/199304067)

Version 1.2.0-alpha06

23 mars 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 et androidx.compose.animation:animation-graphics:1.2.0-alpha06. Liste des commits de la version 1.2.0-alpha06.

Modifications apportées à l'API

  • Mise à jour de l'analyse des drawables vectoriels pour permettre la mise en miroir automatique afin de d'inverser le contenu d'un VectorPainter si la mise en page actuelle se lit de droite à gauche. (I79cd9, b/185760237)

Correction de bugs

  • Mise à jour des API de graphiques vectoriels afin d'utiliser l'annotation composable @VectorComposable appropriée plutôt que @UiComposable (I942bc)

Version 1.2.0-alpha05

9 mars 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 et androidx.compose.animation:animation-graphics:1.2.0-alpha05. Liste des commits de la version 1.2.0-alpha05.

Modifications apportées à l'API

  • Parfait ! Compose Animation est désormais compatible avec le paramètre de durée "Animator duration scale" des options pour les développeurs. (I5a4fc, b/161675988)

Version 1.2.0-alpha04

23 février 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 et androidx.compose.animation:animation-graphics:1.2.0-alpha04. Liste des commits de la version 1.2.0-alpha04.

Version 1.2.0-alpha03

9 février 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 et androidx.compose.animation:animation-graphics:1.2.0-alpha03. Liste des commits de la version 1.2.0-alpha03.

Version 1.2.0-alpha02

26 janvier 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 et androidx.compose.animation:animation-graphics:1.2.0-alpha02. Liste des commits de la version 1.2.0-alpha02.

Version 1.2.0-alpha01

12 janvier 2022

Publication d'androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 et androidx.compose.animation:animation-graphics:1.2.0-alpha01. Liste des commits de la version 1.2.0-alpha01.

Modifications apportées à l'API

  • Utilisez AnimatedImageVector.animatedVectorResource à la place de animatedVectorResource pour charger un fichier de ressources <animated-vector>.
    • Utilisez rememberAnimatedVectorResource à la place de AnimatedImageVector#painterFor pour afficher un AnimatedImageVector. (I9c300)

Correction de bugs

  • Ajoutez des méthodes toString à Animatable et AnimationResult. (Icd3a6)

Mises à jour de la dépendance

  • Mise à jour des dépendances vers Kotlin 1.6.10.

Version 1.1

Version 1.1.1

23 février 2022

Publication d'androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 et androidx.compose.animation:animation-graphics:1.1.1. Liste des commits de la version 1.1.1.

Corrections de bugs

  • Correction d'une exception NullPointerException dans androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList. (aosp/1947059, b/206677462)
  • Correction du plantage causé par le contenu du presse-papiers lors de la lecture du presse-papiers sur Android. (I06020, b/197769306)
  • Résolution du problème de lecture de droite à gauche dans LazyVerticalGrid. (aosp/1931080, b/207510535)

Version 1.1.0

9 février 2022

Publication d'androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 et androidx.compose.animation:animation-graphics:1.1.0. Liste des commits de la version 1.1.0.

Modifications importantes depuis la version 1.0.0

  • Stabilisation de la prise en charge du défilement hors limites d'Android 12.
  • Améliorations apportées au dimensionnement des zones cibles tactiles.
  • Notez que, dans Compose 1.0, les composants Material développent leur espace de mise en page pour respecter les consignes d'accessibilité Material concernant la taille des zones cibles tactiles. Par exemple, la zone cible tactile minimale d'un bouton est de 48 × 48 dp, et sera étendue si le paramètre indique une dimension inférieure. Cela permet d'aligner la bibliothèque Compose Material sur le comportement des composants Material Design, pour plus de cohérence si vous combinez le système de vues et Compose. Cette modification garantit également que les conditions minimales requises pour l'accessibilité des zones cibles tactiles sont remplies lorsque vous créez votre UI à l'aide de composants Compose Material.
  • Stabilisation de la prise en charge du rail de navigation.
  • Reclassement d'un certain nombre d'API expérimentales en version stable.
  • Prise en charge des nouvelles versions de Kotlin.

Version 1.1.0-rc03

26 janvier 2022

Publication d'androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 et androidx.compose.animation:animation-graphics:1.1.0-rc03. Liste des commits de la version 1.1.0-rc03.

Correction de bugs

  • Mise à jour pour assurer la compatibilité avec Compose Material 1.1.0-rc03.

Version 1.1.0-rc01

15 décembre 2021

Publication d'androidx.compose.animation:animation:1.1.0-rc01 et androidx.compose.animation:animation-core:1.1.0-rc01. Liste des commits de la version 1.1.0-rc01.

Modifications apportées à l'API

  • Utilisez AnimatedImageVector.animatedVectorResource à la place de animatedVectorResource pour charger un fichier de ressources <animated-vector>.
    • Utilisez rememberAnimatedVectorResource à la place de AnimatedImageVector#painterFor pour afficher un AnimatedImageVector. (I9c300)

Version 1.1.0-beta04

1er décembre 2021

Publication d'androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 et androidx.compose.animation:animation-graphics:1.1.0-beta04. Liste des commits de la version 1.1.0-beta04.

Nouvelles fonctionnalités

  • Mise à jour pour assurer la compatibilité avec Kotlin 1.6.0.

Version 1.1.0-beta03

17 novembre 2021

Publication d'androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 et androidx.compose.animation:animation-graphics:1.1.0-beta03. Liste des commits de la version 1.1.0-beta03.

Modifications apportées à l'API

  • Ajout d'un modificateur Modifier.onPlaced pour permettre l'observation de la modification de l'emplacement. Permet de procéder à des modifications supplémentaires du décalage du modificateur enfant en fonction du changement d'emplacement observé. (I558fd)
  • ContentKey est désormais compatible avec Crossfade. ContentKey sera utilisé pour le contrôle d'égalité par le système Animation. Il est donc possible d'obtenir des différences personnalisées au niveau des états en précisant le ContentKey approprié pour différents états.

    ContentKey est également utilisé pour enregistrer et restaurer le contenu. (I2e055, b/197907070)

Version 1.1.0-beta02

3 novembre 2021

Publication d'androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 et androidx.compose.animation:animation-graphics:1.1.0-beta02. Liste des commits de la version 1.1.0-beta02.

Correction de bugs

  • Ajout d'API Animation pour la prise en charge des outils. Plus précisément, ces API permettent aux outils d'inspecter les animations et leurs configurations dans des transitions. (I4116e)

Version 1.1.0-beta01

27 octobre 2021

Publication d'androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 et androidx.compose.animation:animation-graphics:1.1.0-beta01. Liste des commits de la version 1.1.0-beta01.

Modifications apportées à l'API

  • Ajout d'API Animation pour la prise en charge des outils. Plus précisément, ces API permettent aux outils d'inspecter les animations et leurs configurations dans des transitions. (I4116e)

Version 1.1.0-alpha06

13 octobre 2021

Publication d'androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 et androidx.compose.animation:animation-graphics:1.1.0-alpha06. Liste des commits de la version 1.1.0-alpha06.

Version 1.1.0-alpha05

29 septembre 2021

Publication d'androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 et androidx.compose.animation:animation-graphics:1.1.0-alpha05. Liste des commits de la version 1.1.0-alpha05.

Modifications apportées à l'API

  • EnterTransition, ExitTransition et certaines des API AnimatedVisibility sont devenues stables. MutableTransitionState.isIdle n'est plus au stade expérimental. (I5072d)

  • Modification destructive : les lambdas des fabriques Enter/ExitTransition ont été déplacés en dernière position dans la liste des paramètres. (I5072d)

Version 1.1.0-alpha04

15 septembre 2021

Publication d'androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 et androidx.compose.animation:animation-graphics:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04.

Version 1.1.0-alpha03

1er septembre 2021

Publication d'androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 et androidx.compose.animation:animation-graphics:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03.

Nouvelles fonctionnalités

  • Mise à jour des dépendances Compose 1.1.0-alpha03 vers Kotlin 1.5.30. (I74545)

Version 1.1.0-alpha02

18 août 2021

Publication d'androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 et androidx.compose.animation:animation-graphics:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02.

Modifications apportées à l'API

  • StartOffset est désormais compatible avec Repeatable et infiniteRepeatable pour retarder ou avancer l'heure de début avant le lancement de l'animation. Ce décalage de début n'est pas répété (Ic679f, b/195079908).
  • Nouvelle Enter/ExitTransition pour l'évolutivité. Elle peut être associée à d'autres types d'Enter/ExitTransitions. (I372da, b/191325593)

Version 1.1.0-alpha01

4 août 2021

Publication d'androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 et androidx.compose.animation:animation-graphics:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01.

Modifications apportées à l'API

  • Déplacement de AnimatedImageVector et des API associées vers le nouveau module androidx.compose.animation:animation-graphics. (I60873)

Correction de bugs

Version 1.0

Version 1.0.5

3 novembre 2021

Publication d'androidx.compose.animation:animation:1.0.5 et androidx.compose.animation:animation-core:1.0.5. Liste des commits de la version 1.0.5

Corrections de bugs

  • Correction d'un plantage lié au suivi des instances de derivedStateOf. (aosp/1792247)

Version 1.0.4

13 octobre 2021

Publication d'androidx.compose.animation:animation:1.0.4 et androidx.compose.animation:animation-core:1.0.4. Liste des commits de la version 1.0.4

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.31.

Version 1.0.3

29 septembre 2021

Publication d'androidx.compose.animation:animation:1.0.3 et androidx.compose.animation:animation-core:1.0.3. Liste des commits de la version 1.0.3

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.30.

Version 1.0.2

1er septembre 2021

Publication d'androidx.compose.animation:animation:1.0.2 et androidx.compose.animation:animation-core:1.0.2. Liste des commits de la version 1.0.2

Mise à jour pour prendre en charge la version 1.0.2 de Compose. Compose 1.0.2 reste compatible avec Kotlin 1.5.21.

Version 1.0.1

4 août 2021

Publication d'androidx.compose.animation:animation:1.0.1 et androidx.compose.animation:animation-core:1.0.1. Liste des commits de la version 1.0.1

Mises à jour des dépendances

  • Mise à jour des dépendances vers Kotlin 1.5.21.

Version 1.0.0

28 juillet 2021

Publication d'androidx.compose.animation:animation:1.0.0 et androidx.compose.animation:animation-core:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

Première version stable de Compose. Pour en savoir plus, consultez le blog officiel des publications de Compose.

Problèmes connus

  • Si vous utilisez Android Studio Bumblebee Canary 4 ou AGP 7.1.0-alpha04/7.1.0-alpha05, vous risquez de rencontrer le plantage suivant :

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

    Pour résoudre ce problème, augmentez temporairement la valeur minSdkVersion à 24 ou au-delà dans votre fichier build.gradle. Ce problème sera résolu dans la prochaine version d'Android Studio Bumblebee et AGP 7.1. (b/194289155)

Version 1.0.0-rc02

14 juillet 2021

Publication d'androidx.compose.animation:animation:1.0.0-rc02 et androidx.compose.animation:animation-core:1.0.0-rc02. Liste des commits de la version 1.0.0-rc02.

Version 1.0.0-rc01

1er juillet 2021

Publication d'androidx.compose.animation:animation:1.0.0-rc01 et androidx.compose.animation:animation-core:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01.

Correction de bugs

  • Déplacement de InfiniteAnimationPolicy vers androidx.compose.ui:ui (I5eb09, b/160602714)

Version 1.0.0-beta09

16 juin 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta09 et androidx.compose.animation:animation-core:1.0.0-beta09. Liste des commits de la version 1.0.0-beta09

Modifications apportées à l'API

  • Nouveau composable AnimatedContent. Il gère son changement de contenu à l'aide de ContentTransform personnalisables à mesure que de nouveaux contenus cibles arrivent et que le contenu initial s'en va. Différentes combinaisons d'Enter et d'ExitTransitions peuvent être utilisées pour obtenir une apparence personnalisée. Dans le cadre de la transformation du contenu, AnimatedContent anime automatiquement sa taille pour s'adapter au contenu entrant. (I2c3df)
  • Suppression de ManualFrameClock. Si vous devez contrôler des animations, utilisez plutôt composeTestRule.mainClock. (I3c3e8, b/189951065)

Nouvelles règles de profil

Cette version ajoute des règles de profil aux modules de composition suivants. (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

Que sont les règles de profil ?

  • Les règles de profil d'une bibliothèque sont spécifiées dans un fichier texte baseline-prof.txt, situé dans le répertoire src/main ou un répertoire équivalent. Le fichier spécifie une règle par ligne. Dans ce cas, une règle correspond à un modèle mis en correspondance avec des méthodes ou des classes de la bibliothèque. La syntaxe de ces règles correspond à un sur-ensemble du format de profil ART intelligible, utilisé conjointement à adb shell profman --dump-classes-and-methods .... Ces règles prennent l'une des deux formes suivantes pour cibler des méthodes ou des classes.

  • Une règle de méthode adoptera le format suivant :

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Une règle de classe adoptera le format suivant :

    <CLASS_DESCRIPTOR>
    
  • Dans le cas présent, <FLAGS> désigne un ou plusieurs des caractères H, S et P et indique si cette méthode doit être signalée comme "Hot", "Startup" ou "Post Startup".

  • <CLASS_DESCRIPTOR> est le descripteur de la classe à laquelle appartient la méthode ciblée. Par exemple, la classe androidx.compose.runtime.SlotTable aurait comme descripteur Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> est la signature de la méthode, et inclut le nom, les types de paramètres et les types renvoyés de la méthode. Par exemple, la méthode fun isPlaced(): Boolean sur LayoutNode aurait pour signature isPlaced()Z.

  • Ces modèles peuvent comporter des caractères génériques (**, * et ?) pour qu'une même règle affecte plusieurs méthodes ou classes.

Quel effet ont ces règles ?

  • Une méthode associée à l'indicateur H signale qu'il s'agit d'une méthode "hot" qui doit être compilée à l'avance.

  • Une méthode associée à l'indicateur S signale qu'il s'agit d'une méthode appelée au démarrage, qui doit être compilée à l'avance pour éviter les coûts de compilation et d'interprétation de la méthode lors du démarrage.

  • Une méthode associée à l'indicateur P signale qu'il s'agit d'une méthode appelée après le démarrage.

  • La présence d'une classe dans ce fichier indique qu'elle est utilisée au démarrage et doit être préallouée dans le segment de mémoire pour éviter son coût de chargement.

Comment ça marche ?

  • Les bibliothèques peuvent définir ces règles, qui seront packagées dans des artefacts AAR. Lorsqu'une application contenant ces artefacts est créée, ces règles sont fusionnées puis utilisées pour créer un profil ART binaire compact spécifique à l'application. ART peut ensuite exploiter ce profil lorsque l'application est installée sur des appareils, afin de compiler à l'avance un sous-ensemble spécifique de l'application, ce qui permet d'améliorer ses performances, notamment lors de la première exécution. Notez que cette opération n'a aucune incidence sur les applications débogables.

Version 1.0.0-beta08

2 juin 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta08 et androidx.compose.animation:animation-core:1.0.0-beta08. Liste des commits de la version 1.0.0-beta08.

Correction de bugs

  • Mise à jour de detectDragGesures, detectVerticalGestures et detectHorizontalGestures, qui consommeront désormais automatiquement le changement de position, sans avoir à appeler change.consumePositionChange dans les rappels onDrag (I42fc4, b/185096350, b/187320697)
  • Modification de Modifier.onGloballyPositioned(), afin de rapporter les coordonnées de ce modificateur dans la chaîne de modificateurs, plutôt que les coordonnées de la mise en page après application de tous les modificateurs. Cela signifie que l'ordre des modificateurs a désormais une incidence sur les coordonnées rapportées. (Ieb67d, b/177926591)

Version 1.0.0-beta07

18 mai 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta07 et androidx.compose.animation:animation-core:1.0.0-beta07. Liste des commits de la version 1.0.0-beta07

Modifications apportées à l'API

  • Nouvelle API AnimatedVisibility compatible avec la visibilité à spécifier dans MutableTransitionState. Elle permet d'observer les états d'animation en dehors de AnimatedVisibility via currentState et isIdle.
    • Prise en charge d'une nouvelle transition enfant dans Transition
    • Prend en charge une animation Enter et ExitTransition personnalisée dans AnimatedVisibility à l'aide d'AnimationScope.transition
    • Nouveau modificateur animateEnterExit accessible sur tous les enfants d'AnimatedVisibility
    • Abandon des API AnimatedVisibility qui utilisent un paramètre initiallyVisible (I702f3)

Version 1.0.0-beta06

5 mai 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta06 et androidx.compose.animation:animation-core:1.0.0-beta06. Liste des commits de la version 1.0.0-beta06.

Version 1.0.0-beta05

21 avril 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta05 et androidx.compose.animation:animation-core:1.0.0-beta05. Liste des commits de la version 1.0.0-beta05.

Correction de bugs

  • Prise en charge dans Android 12 des fichiers AndroidManifest provenant de ui-test-manifest et de ui-tooling-data. (I6f9de, b/184718994)

Version 1.0.0-beta04

7 avril 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta04 et androidx.compose.animation:animation-core:1.0.0-beta04. Liste des commits de la version 1.0.0-beta04

Modifications apportées à l'API

  • Suppression des instances publiques de RowScope, ColumnScope, BoxScope et BoxWithConstraintsScope. (I4e83e, b/181869067)

Version 1.0.0-beta03

24 mars 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta03 et androidx.compose.animation:animation-core:1.0.0-beta03. Liste des commits de la version 1.0.0-beta03.

Version 1.0.0-beta02

10 mars 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta02 et androidx.compose.animation:animation-core:1.0.0-beta02. Liste des commits de la version 1.0.0-beta02.

Corrections de bugs

  • Application forcée des restrictions sur l'utilisation publique des API expérimentales. (I6aa29, b/174531520)

Version 1.0.0-beta01

24 février 2021

Publication d'androidx.compose.animation:animation:1.0.0-beta01 et androidx.compose.animation:animation-core:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Première publication bêta de la version 1.0.0 de Compose.

Modifications apportées à l'API

  • Remplacement de InteractionState par [Mutable]InteractionSource.
    • Les interfaces sont responsables de l'émission et de la collecte des événements d'interaction.
    • Au lieu de transmettre interactionState = remember { InteractionState() } à des composants tels que Button et Modifier.clickable(), utilisez interactionSource = remember { MutableInteractionSource() }.
    • Au lieu de Interaction.Pressed in interactionState, utilisez les fonctions d'extension sur InteractionSource, comme InteractionSource.collectIsPressedAsState().
    • Pour les cas complexes, vous pouvez utiliser InteractionSource.interactions afin d'observer le flux des interactions. Pour en savoir plus, consultez la documentation et les exemples d'InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Remplacement des packages des méthodes smoothScrollBy et scrollBy par androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)
  • Renommage des modificateurs de taille. Modifier.width et ses variantes height/size deviennent respectivement requiredWidth, requiredHeight et requiredSize. Modifier.preferredWidth et ses variantes preferredHeight/preferredSize deviennent respectivement width, height et size. (I5b414)
  • Déplacement d'Orientation vers le package Foundation. Déplacement de VelocirtTracker de ui.gesture vers ui.input.pointer. (Iff4a8, b/175294473)
  • Suppression de AnimationClockObservable et de ses sous-classes. Suppression de AnimatedFloat. (Icde52, b/177457083)
  • Mise à jour de Modifier.draggable, qui accepte désormais DraggableState au lieu d'un simple lambda. Vous pouvez créer un état via rememberDraggableState { delta -> } pour obtenir le même comportement que précédemment. (Ica70f, b/175294473)
  • Les API animate, animatedValue et AnimatedValue ont été supprimées (If27bc, b/177457083).
  • Suppression d'AnimationEndReason.Interrupted. Génération d'une CancellationException si l'animation est interrompue. (I2cbbc, b/179695417)
  • Suppression de l''API TargetAnimation. (If47d1, b/177457083)

Version 1.0.0-alpha12

10 février 2021

Publication d'androidx.compose.animation:animation:1.0.0-alpha12 et androidx.compose.animation:animation-core:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12

Modifications apportées à l'API

  • Mise à jour de Modifier.pointerInput, qui nécessite désormais des clés de mise en mémoire pour indiquer le moment où la coroutine de détection des entrées de pointeur doit redémarrer pour les nouvelles dépendances. (I849cd)
  • Changement de nom : Bounds devient DpRect (I4b32a).
  • Un nom de paramètre unifié pour AnimationSpec a été défini sur animationSpec dans l'ensemble du système Animation. Oblige également Enter/ExitTransition à accepter FiniteAnimationSpec. (Ie47c5, b/177457083)
  • Reclassement de Animatable.snapTo et Animatable.stop en fonctions de suspension (If4288)
  • Avertissement : Nous avons précédemment supprimé le composable state { 0 } et encourageons désormais des approches telles que remember { mutableStateOf(0) }. Nous allons donc supprimer le composable savedInstanceState { 0 }. Nous vous invitons à utiliser rememberSaveable { mutableStateOf(0) }, qui enregistrera et restaurera automatiquement si le type utilisé dans MutableState peut être stocké dans le bundle. Si vous transmettiez auparavant un objet Saver personnalisé, vous devrez désormais utiliser une nouvelle surcharge de rememberSaveable, qui contient le paramètre stateSaver. Exemple de mise en œuvre : val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Mise à jour de la signature de la méthode Crossfade pour la rendre plus cohérente avec le reste du système Animation. (Ib05ed, b/177457083)
  • Changement de nom : rememberSavedInstanceState() devient rememberSaveable() et est déplacé vers le package androidx.compose.runtime.saveable. (I1366e, b/177338004)
  • Changement de nom : RestorableStateHolder devient SaveableStateHolder, et a été déplacé vers le package androidx.compose.runtime.saveable. Changement de nom : la méthode interne RestorableStateProvider devient SaveableStateProvider. Étant donné que le type générique a été supprimé, vous pouvez juste transmettre "Any" en tant que clé. Vous n'avez plus besoin de l'annotation expérimentale. (I0902e, b/174598702)
  • Mise à jour de l'API Modifier.animateContentSize pour la rendre cohérente avec le reste du système Animation. (I0bf75, b/177457083)
  • Abandon de AnimatedValue/Float. Utilisez Animatable à la place. (I71345, b/177457083)
  • Abandon de tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter et pressIndicationGestureFilter. Utilisez plutôt Modifier.clickable ou Modifier.pointerInput avec la fonction detectTapGestures. (I6baf9, b/175294473)
  • Introduction d'un élément de contexte de coroutine InfiniteAnimationPolicy, qui sera appliqué dans les animations infinies. Par défaut, aucune règle n'est installée, sauf lors de l'exécution de tests avec ComposeTestRule. (I50ec4, b/151940543)
  • Suppression des méthodes de déstructuration et copy() de plusieurs classes où elles n'étaient que rarement utilisées. (I26702, b/178659281)
  • Harmonisation du temps d'animation, désormais exprimé en nanosecondes (If776a)
  • Abandon de l'artefact compose:runtime-dispatch. MonotonicFrameClock se trouve désormais dans compose:runtime, et AndroidUiDispatcher dans compose:ui. (Ib5c36)
  • Ajout d'Animation.isInfinite et VectorizedAnimationSpec.isInfinite, qui signalent si une animation est infinie ou non. Ces éléments peuvent être utilisés dans les intégrations d'animations pour une gestion spéciale de ces animations. Par exemple, un message spécial de "temps restant" peut s'afficher ou, lors des tests, l'animation peut être annulée pour éviter d'attendre indéfiniment l'inactivité. (Iebb05, b/151940543)
  • Utilisez "Long" au lieu de "Uptime" comme type de durée d'animation (Ie3aa7, b/177420019).

Version 1.0.0-alpha11

28 janvier 2021

Publication d'androidx.compose.animation:animation:1.0.0-alpha11 et androidx.compose.animation:animation-core:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11

Modifications apportées à l'API

  • Abandon de la transition basée sur TransitionDefinition (I0ac57)
  • Un champ d'étiquette est ajouté pour que les animations dans Transition et les animations enfants s'affichent dans des outils (I619fb).
  • Changement de nom : animateAsState devient animateFooAsState, où "Foo" est le type de variable animée (Float, Dp, Offset, etc.) (Ie7e25)
  • Nouvelle InfiniteTransition qui exécute un nombre illimité d'animations enfants. (I1da81)
  • Modification des interfaces de paramètres avec état de Material pour qu'elles comportent des fonctions @Composable qui renvoient State<T>. Ajoute Animatable.asState() pour faciliter la conversion d'un Animatable en état. Modification d'animateElevation pour en faire une extension de suspension sur Animatable. (If613c)

Correction de bugs

  • Abandon des propriétés onCommit, onDispose et onActive, remplacées par les API SideEffect et DisposableEffect (If760e)
  • Prise en charge d'Initial State dans updateTransition (Ifd51d)
  • Ajout du paramètre de description du contenu à Image et Icon. Permet de fournir la description aux services d'accessibilité (I2ac4c)
  • Abandon de invalidate et compositionReference(), respectivement remplacés par currentRecomposeScope et par rememberCompositionReference. (I583a8)
  • Suppression de la dépendance de l'entrée du pointeur aux classes Duration et Uptime, qui seront remplacées par Long en millisecondes. (Ia33b2, b/175142755, b/177420019)
  • Mise à jour des composants pouvant être cliqués, activés/désactivés et sélectionnés, qui peuvent désormais être créés en dehors de la composition (I0a130, b/172938345, b/175294473)
  • Remplacement du lissage de vitesse par une interface fonctionnelle (Ib14e5)
  • Ajout d'une méthode de fabrique items(count: Int) pour le champ d'application de LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) et itemsIndexed(items: List) sont désormais des fonctions d'extension, qui doivent être importées manuellement lorsqu'elles sont utilisées. Ajout de surcharges d'extension pour les tableaux : items(items: Array) et itemsIndexed(Array) (I803fc, b/175562574)
  • Mise à profit de TestCoroutineDispatcher dans les tests (I532b6)
  • Suppression de PointerInputData et modification de PointerInputChange, qui récupère tous les champs de PointerInputData. Reclassement de PointerInputEvent et PointerInputEventData comme internes, car ils ne sont utilisés dans aucune API publique. (Ifff97, b/175142755)

Version 1.0.0-alpha10

13 janvier 2021

Publication d'androidx.compose.animation:animation:1.0.0-alpha10 et androidx.compose.animation:animation-core:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10

Modifications apportées à l'API

  • Mise à jour de Velocity, qui réunit désormais des composants et des opérations mathématiques. (Ib0447)
  • Changement de nom : @ExperimentalTesting devient @ExperimentalTestApi, pour être cohérent avec les annotations d'API expérimentales similaires (Ia4502, b/171464963)
  • Changement de nom : Position devient DpOffset. Suppression de getDistance() (Ib2dfd)
  • Suppression de l'API publique Any.identityHashCode() (I025d7)

Correction de bugs

  • Ajout d'une API basée sur la coroutine Animatable, qui garantit l'exclusivité mutuelle de ses animations. Ajout de DecayAnimationSpec pour prendre en charge les animations de décomposition multidimensionnelle (I820f2, b/168014930)
  • Remplacement de animate() par animateAsState(), qui renvoie State<T> au lieu de T. Cela permet d'améliorer les performances, car le champ d'invalidation peut être réduit à l'endroit où la valeur State est lue. (Ib179e)

Version 1.0.0-alpha09

16 décembre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha09 et androidx.compose.animation:animation-core:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09

Modifications apportées à l'API

  • Déplacement de Dp.VectorConverter, Position.VectorConverter, etc. vers animation-core et abandon des anciens VectorConverters (If0c4b)
  • Introduction d'un nouvel ensemble d'API Transition offrant une plus grande facilité d'utilisation et la prise en charge d'animations ajoutées dynamiquement, ainsi que des cibles d'animation calculées de manière dynamique. Ces API sont marquées comme expérimentales afin de les différencier facilement de l'API basée sur TransitionDefinition. (Ia7fe3)

Correction de bugs

  • Mise à jour des lambdas dans les modificateurs de décalage, qui renvoient désormais IntOffset plutôt que Float. (Ic9ee5, b/174137212, b/174146755)
  • Abandon de LazyColumnFor, LazyRowFor, LazyColumnForIndexed et LazyRowForIndexed. Utilisez LazyColumn et LazyRow à la place. (I5b48c)
  • Changement de nom : pour les API d'entrée de pointeur de suspension, HandlePointerInputScope devient AwaitPointerEventScope et handlePointerInput() devient awaitPointerEventScope(). (Idf0a1, b/175142755)
  • Ajout d'une fonction infiniteRepeatable pour créer un InfiniteRepeatableSpec (I668e5)
  • Suppression de l'annotation ExperimentalPointerInput (Ia7a24)

Version 1.0.0-alpha08

2 décembre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha08 et androidx.compose.animation:animation-core:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08

Modifications apportées à l'API

  • Ajout d'une vérification lint pour l'attribution d'un nom et d'une position au paramètre lambda composable, afin de confirmer la cohérence avec les consignes Compose. Nous avons également migré certaines API utilisant children comme nom de lambda de fin vers content, conformément à la vérification lint et aux consignes. (Iec48e)
  • Les API précédemment abandonnées ont été supprimées :
    • Modifier.onPositioned a été supprimé. Utilisez Modifier.onGloballyPositioned.
    • Modifier.onDraw a été supprimé. Utilisez Modifier.onDrawBehind.
    • Modifier.plus a été supprimé. Utilisez Modifier.then.
    • Color.Unset a été supprimé. Utilisez Color.Unspecified.
    • La classe PxBounds a été supprimée. Utilisez Rect à la place.
    • (Ie9d02, b/172562222)
  • Ajout d'une option temporaire permettant à TestAnimationClock d'être dirigé par MonotonicFrameClock (I1403b, b/173402197)

Correction de bugs

  • Changement de nom : Modifier.drawLayer devient Modifier.graphicsLayer. Mise à jour des classes associées vers GraphicsLayer conformément aux commentaires concernant l'API. (I0bd29, b/173834241)
  • Ajout des API Modifier.scale/rotate pour plus de commodité avec drawLayer.
    • Changement de nom : Modifier.drawOpacity devient Modifier.alpha
    • Changement de nom : Modifier.drawShadow devient Modificateur.shadow (I264ca, b/173208140)
  • Mise à jour des champs Uptime et Position de PointerInputData, désormais non nullables. (Id468a)
  • Changement de nom : les modificateurs offsetPx deviennent offset. et acceptent désormais les paramètres lambda au lieu de State. (Ic3021, b/173594846)
  • Ajout d'API pour l'exécution d'animations dans des coroutines (Ied662)
  • Abandon des Ambients utilisant le suffixe Ambient, remplacés par de nouvelles propriétés utilisant le préfixe Ambient, conformément aux conventions des autres Ambiants et des consignes relatives aux API de Compose. (I33440)
  • Reclassement du contrôle du temps dans les tests (TestAnimationClock et ses utilisations), désormais expérimental (I6ef86, b/171378521)
  • Suppression de l'ancien module ui-test et de ses bouchons (I3a7cb)
  • La fonction RestorableStateHolder.withRestorableState a été renommée RestorableStateProvider (I66640)
  • Mise à jour de l'interface Alignment, désormais fonctionnelle. (I46a07, b/172311734)

Version 1.0.0-alpha07

11 novembre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha07 et d'androidx.compose.animation:animation-core:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07.

Correction de bugs

  • Abandon de AmbientTextStyle, ProvideTextStyle et AmbientContentColor dans Foundation. Utilisez les nouvelles versions disponibles dans la bibliothèque Material à la place. Pour les applications non Material, vous devez créer vos propres Ambients de thématisation spécifiques du système de conception, qui pourront être consommés dans vos propres composants. (I74acc, b/172067770)
  • Abandon de foundation.Text, remplacé par material.Text. Pour obtenir une API de texte basique non catégorique, qui ne consomme aucune valeur de thème, reportez-vous à androidx.compose.foundation.BasicText. (If64cb)
  • Suppression de MeasureResult dans MeasureScope. (Ibf96d, b/171184002)
  • Déplacement de plusieurs symboles liés à la mise en page depuis androidx.compose.ui vers androidx.compose.layout.ui. (I0fa98, b/170475424)

Version 1.0.0-alpha06

28 octobre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha06 et d'androidx.compose.animation:animation-core:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06.

Modifications apportées à l'API

  • Prise en charge des transitions dans ComposeTestRule. L'option permettant d'activer le curseur clignotant dans ComposeTestRule a été supprimée. (If0de3)

Version 1.0.0-alpha05

14 octobre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha05 et d'androidx.compose.animation:animation-core:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.

Modifications apportées à l'API

  • Nouvelle interface et sous-classes Animation : ces classes stockent les conditions de début et de fin des animations. La valeur et la vélocité ne peuvent donc être interrogées que via la lecture (Ie95bd, b/163329867)

Correction de bugs

  • Changement de nom : OnPositionedModifier devient OnGloballyPositionedModifier et onPositioned() devient onGloballyPositioned(). (I587e8, b/169083903)
  • Abandon des API contentColor() et currentTextStyle(), remplacées respectivement par les Ambients AmbientContentColor et AmbientTextStyle. Vous pouvez accéder à la valeur actuelle en utilisant .current sur la propriété Ambient, comme avec n'importe quelle autre Ambient. Cette modification offre plus de cohérence et évite d'avoir plusieurs méthodes aboutissant au même résultat. De plus, certaines propriétés Ambient ont été renommées pour mieux décrire leur fonction, comme suit :

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

Version 1.0.0-alpha04

1er octobre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha04 et d'androidx.compose.animation:animation-core:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04.

Modifications apportées à l'API

  • Annotation de rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled et textInputServiceFactory avec @VisibleForTesting, pour les reclasser en API interne et masquer leur kdoc (I554eb, b/168308412)

Correction de bugs

  • Mise à jour de nombreuses API Graphics :
    • Mise à jour des API de transformation du scaling et de la rotation, afin de consommer un seul paramètre Offset pour représenter les coordonnées du point de pivot, au lieu de paramètres flottants distincts pour les coordonnées abscisse-ordonnée dans DrawScope et DrawTransform.
    • Suppression des méthodes Rect.expandToInclude et Rect.join.
    • Mise à jour de la documentation concernant Radius afin de mentionner les ovales en plus des elliptiques.
    • Ajout d'une documentation indiquant que le constructeur public de la classe inline Radius ne doit pas être appelé directement. En revanche, les objets Radius doivent être instanciés via leurs constructeurs de fonction.
    • Suppression des API RoundRect permettant d'interroger les propriétés topRight, bottomRight, bottomCenter, etc.
    • Abandon de Rect.shift, à remplacer par Rect.translate.
    • Suppression des API RoundRect.grow et Rect.shrink.
    • Changement de nom : RoundRect.outerRect devient Rect.boundingRect.
    • Suppression des méthodes RoundRect.middleRect/tallMiddleRect/wideMiddleRect et Rect.isStadium.
    • Changement de nom : RoundRect.longestSide devient RoundRect.maxDimension.
    • Changement de nom : RoundRect.shortestSide devient RoundRect.minDimension.
    • Conversion de la fonction RoundRect.center en propriété.
    • Mise à jour du constructeur RoundRect pour consommer les propriétés de Radius plutôt que des paramètres individuels pour les valeurs abscisse-ordonnée du rayon.
    • Suppression des API Size qui supposaient une forme rectangle dont l'origine était 0,0.
    • Ajout d'une API de destruction à Radius.
    • Migration de diverses fonctions d'extension RoundRect, converties en propriétés.
    • (I8f5c7, b/168762961)
  • Abandon de foundation.Box. Utilisez foundation.layout.Box à la place. (Ie5950, b/167680279)
  • Changement de nom : Stack devient Box. L'ancienne version de Box est abandonnée au profit de la nouvelle dans compose.foundation.layout. Le nouveau comportement de Box consiste à empiler les enfants lorsqu'il y en a plusieurs. L'ancien comportement était comparable à celui de Column. (I94893, b/167680279)
  • Abandon des paramètres de décoration de Box. Si vous souhaitez ajouter des décorations/marges intérieures à votre Box, utilisez plutôt des modificateurs tels que Modifier.background, Modifier.border et Modifier.padding. (Ibae92, b/167680279)
  • Suppression de la prise en charge des importations statiques pour le contenu des champs d'application des mises en page (par exemple, alignWithSiblings dans RowScope). Utilisez le champ d'application explicite à la place : with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Version 1.0.0-alpha03

16 septembre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha03 et d'androidx.compose.animation:animation-core:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Correction de bugs

  • Changement de nom : les fonctions de Gravity ont été renommées "align" ou "alignment" dans les API Layout. (I2421a, b/164077038)

Version 1.0.0-alpha02

2 septembre 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha02 et d'androidx.compose.animation:animation-core:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02

Modifications apportées à l'API

  • Ajout de ManualFrameClock.hasAwaiters pour déterminer si un élément attend un frame de cette horloge ; remplacement de runBlocking par runWithManualClock lors de l'exécution de tests nécessitant un ManualFrameClock ; accès facilité au coordinateur d'UI principal pour vos tests avec TestUiDispatcher.Main.

    Exemple :

    @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)

Correction de bugs

  • onPreCommit est obsolète et onCommit adopte désormais son comportement.

    onCommit et onActive s'exécutent désormais dans la même image de chorégraphe que celle dans laquelle la composition est modifiée, plutôt qu'au début de la nouvelle image de chorégraphe. (I70403)

Version 1.0.0-alpha01

26 août 2020

Publication d'androidx.compose.animation:animation:1.0.0-alpha01 et d'androidx.compose.animation:animation-core:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01.

Version 0.1.0-dev

Version 0.1.0-dev17

19 août 2020

Publication d'androidx.compose.animation:animation:0.1.0-dev17 et androidx.compose.animation:animation-core:0.1.0-dev17. Liste des commits de la version 0.1.0-dev17.

Nouvelles fonctionnalités

Modifications apportées à l'API

  • Conversion de Offset en classe inline (Iaec70)
  • Conversion de IntOffset en classe inline (Iac0bf)
  • Conversion de IntSize en classe inline (I2bf42)
  • Le composable AnimatedVisibilty gère l'animation d'apparition et de disparition du contenu enfant.

    Les classes EnterTransition et ExitTransition sont introduites pour fonctionner avec le composable AnimatedVisibilty afin de fournir trois types différents d'animations d'apparition et de disparition : le fondu, le glissement et l'extension/réduction du contenu. Combinez les différents types d'animations pour obtenir un résultat plus personnalisé. (Idda11)

  • Abandon de PxBounds, à remplacer par Rect. Mise à jour de toutes les utilisations de PxBounds avec remplacement par Rect et ajout des abandons/remplacements appropriés avec leurs annotations pour faciliter la migration. (I37038, b/162627058)

Correction de bugs

  • Changements de nom : PlacementScope.placeAbsolute() devient PlacementScope.place(), tandis que le précédent PlacementScope.place() devient PlacementScope.placeRelative(). Par conséquent, la méthode PlacementScope.place() ne met plus automatiquement en miroir la position dans les contextes lus de droite à gauche. Si cette approche est souhaitée, utilisez plutôt PlacementScope.placeRelative(). (I873ac, b/162916675)
  • Abandon du composable state { ... }, à remplacer par des appels explicites à remember { mutableStateOf(...) } pour plus de clarté. Cette approche réduit la surface globale de l'API et le nombre de concepts liés à la gestion des états, et correspond au modèle by mutableStateOf() de délégation des propriétés de classe. (Ia5727)

Version 0.1.0-dev16

5 août 2020

Publication d'androidx.compose.animation:animation:0.1.0-dev16 et androidx.compose.animation:animation-core:0.1.0-dev16. Liste des commits de la version 0.1.0-dev16.

Modifications apportées à l'API

  • Les convertisseurs vectoriels intégrés destinés à convertir les unités intégrées sont désormais accessibles via Foo.VectorConverter. Par exemple : Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter, etc. (I3e273)
  • Prend en charge l'écouteur de fin dans Modifier.animateContentSize(). Lorsque l'animation de modification de taille se termine, l'écouteur est averti, et la taille de début et de fin de l'animation est indiquée. (I277b2)
  • Nouveau modificateur animateContentSize, qui anime le changement de taille de la mise en page de son modificateur enfant (Ieffdc)
  • Ajout de MonotonicFrameAnimationClock, qui permet d'utiliser une MonotonicFrameClock en tant que AnimationClockObservable pour combler l'écart entre les nouvelles horloges basées sur des coroutines et les API qui utilisent toujours les anciennes horloges basées sur des rappels.

    La MonotonicFrameClock équivalente de ManualAnimationClock est désormais ManualFrameClock. (I111c7, b/161247083)

Correction de bugs

  • Mise à jour des API pour prendre en charge la lecture de droite à gauche. Ajout de LayoutDirectionAmbient, qui permet de lire et modifier la direction de la mise en page. Suppression de Modifier.rtl et Modifier.ltr. (I080b3)
  • Obligation que le type T soit précisé explicitement pour transitionDefinition. (I1aded)
  • Aplatissement du package foundation.shape.corner en foundation.share (I46491, b/161887429)
  • Abandon de Modifier.plus. Utilisez Modifier.then à la place. La forme "Then" offre un signal d'ordination plus fort et interdit les saisies Modifier.padding().background() + anotherModifier, qui rompent la chaîne et sont plus difficiles à lire. (Iedd58, b/161529964)
  • Changement de nom : Modifier.drawBackground devient Modifier.background (I13677)

Version 0.1.0-dev15

22 juillet 2020

Publication d'androidx.compose.animation:animation:0.1.0-dev15 et androidx.compose.animation:animation-core:0.1.0-dev15. Liste des commits de la version 0.1.0-dev15.

Mise à jour des dépendances

  • Pour utiliser la version 0.1.0-dev15 de Compose, vous devez mettre à jour vos dépendances en fonction des nouveaux extraits de code présentés dans la section Déclarer des dépendances ci-dessus.

Modifications apportées à l'API

  • L'API Transition a été modifiée de manière à renvoyer un TransitionState au lieu de le transmettre à des éléments enfants. Cela rend l'API plus cohérente avec les API animate(). (I24e38)
  • Paramètre de modificateur ajouté pour Crossfade (I87cfe, b/159706180)
  • Utilisez AnimationSpec au lieu d'AnimationBuilder dans les API de niveau supérieur pour clarifier le concept de spécification d'animation statique.
    • Améliorer la transition DSL en supprimant l'exigence lambda pour la création d'AnimationSpecs telles que tween et spring. Les paramètres de constructeur sont directement utilisés désormais.
    • Améliorer la simplicité d'utilisation globale d'AnimationSpec, qui permet d'utiliser des constructeurs plutôt que des compilateurs
    • Modifier la durée et le délai pour KeyFrame et Tween par Int, ce qui élimine les caster de type inutiles et la surcharge de méthodes (pour les requêtes Long et Int). (Ica0b4)
  • Remplacement de l'utilisation de IntPx par Int. Remplacement de IntPxPosition par IntOffset. Remplacement de IntPxSize par IntSize. (Ib7b44)
  • Standardisation de l'utilisation de la classe Size (au lieu de PxSize) afin de regrouper les différentes classes utilisées pour représenter les informations de dimensionnement. Cela présente les avantages d'une classe inline permettant d'exploiter un long pour réunir deux valeurs flottantes qui représentent la largeur et la hauteur. (Ic0191)
  • Standardisation de l'utilisation de la classe Offset (au lieu de PxPosition), afin de regrouper les différentes classes utilisées pour représenter les informations de positionnement. Cela présente les avantages d'une classe inline permettant d'exploiter un long pour réunir deux valeurs flottantes qui représentent les valeurs de décalage abscisse-ordonnée. (I3ad98)
  • Remplacement des utilisations de la classe Px dans différentes classes de Compose, dans le cadre d'une refactorisation généralisée qui vise à ne plus utiliser que les types Dp et primitifs pour les paramètres de pixel (I086f4)
  • Ajout de la prise en charge d'animate() pour Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds et AnimationVector (Ib7518)
  • Crossfade accepte maintenant le paramètre facultatif AnimationBuilder pour autoriser la configuration de l'animation (I6d6e0).
  • Remplacement de toutes les utilisations potentiellement nulles de Color dans l'API par des versions non nullables, avec Color.Unset en cas de valeur nulle (Iabaa7)
  • Suppression de la classe ValueHolder. Restructuration des classes AnimatedValue et AnimatedFloat pour rendre le champ de valeur d'animation abstrait, afin que les sous-classes puissent surveiller la mise à jour de la valeur.
    • Ajout de classes de modèle pour AnimatedValue, AnimatedFloat, etc.
    • Ajout d'un nouvel ensemble d'API @Composable légères pour créer des animations entre des valeurs. (I79530)
  • Modifications destructives apportées à l'API Ambients. Pour en savoir plus, consultez le journal et la documentation sur Ambient<T>. (I4c7ee, b/143769776)
  • Nouveau mode de répétition : Reverse. Ce mode inverse l'itération précédente lorsque l'animation se répète dans "RepeatableSpec" ou "VectorizedRepeatableSpec". (Ibe0f5)
  • Ajouts d'API à ManualAnimationClock : hasObservers: Boolean et paramètre de constructeur dispatchOnSubscribe: Boolean (Iaa134)
  • Ajout d'API pour atteindre les limites minimale et maximale dans AnimatedFloat (Icd9cc)

Correction de bugs

  • Changement de nom : runOnIdleCompose devient runOnIdle (I83607)
  • Renommage de plusieurs API de test pour une identification plus intuitive. Toutes les API findXYZ ont été renommées onNodeXYZ. Toutes les API doXYZ ont été renommées performXYZ. (I7f164)
  • Introduction d'API d'animation sans état de niveau inférieur. Elles décrivent les animations primitives sur lesquelles reposent les API de niveau supérieur, telles que animate() et @Composable Transition. (I63bf7)
  • Reclassement du composable Recompose, qui n'est plus une abstraction utile. La plupart des recompositions devraient faire suite aux attributions MutableState. Pour les autres cas, nous vous recommandons d'utiliser la fonction invalidate pour déclencher une recomposition du champ d'application actuel. (Ifc992)
  • Remplacement des utilisations de la classe Px dans différentes classes de Compose, dans le cadre d'une refactorisation généralisée qui vise à ne plus utiliser que les types Dp et primitifs pour les paramètres de pixel. La classe Px a été complètement supprimée. (I3ff33)
  • Remplacement des utilisations de la classe Px dans différentes classes de Compose, dans le cadre d'une refactorisation généralisée qui vise à ne plus utiliser que les types Dp et primitifs pour les paramètres de pixel (Id3434)
  • Crossfade peut désormais utiliser une valeur nulle comme valeur initiale (Iad6a4, b/155947711)
  • Remplacement des utilisations de la classe Px dans différentes classes de Compose, dans le cadre d'une refactorisation généralisée qui vise à ne plus utiliser que les types Dp et primitifs pour les paramètres de pixel (I19d02)
  • Regroupement des intégrations de CanvasScope, pour ne laisser que DrawScope et ContentDrawScope. CanvasScope est renommé DrawScope. Mise à jour de DrawScope afin d'intégrer l'interface Density et de fournir LayoutDirection. La sous-classe DrawScope de ContentDrawScope a été supprimée. Painter et PainterModifier ont été mis à jour et ne maintiennent plus par eux-mêmes la propriété RTL, déjà fournie par DrawScope sans intervention manuelle (I1798e)
  • Mise à jour des API Compose de niveau supérieur afin d'exposer CanvasScope au lieu de Canvas. Cela évite aux consommateurs d'avoir à gérer leurs propres objets Paint. Les consommateurs qui ont toujours besoin d'accéder à Canvas peuvent utiliser la méthode d'extension drawCanvas, qui fournit un rappel permettant d'émettre des commandes de dessin avec le Canvas sous-jacent. (I80afd)
  • Ajout des paramètres verticalGravity et horizontalGravity à Row et Column, respectivement. (I7dc5a)
  • Changement de nom : le module ui-text devient ui-text-core (I57dec)
  • Améliorations apportées à l'API DrawModifier :
    • Mise à jour de ContentDrawScope, qui sert de champ d'application receveur pour draw().
    • Suppression de tous les paramètres de draw().
    • Mise à jour de DrawScope, qui utilise désormais la même interface que l'ancienne forme CanvasScope.
    • Ajout de la méthode drawContent() à ContentDrawScope (Ibaced, b/152919067)
  • Conversion des méthodes runOnIdleCompose et runOnUiThread de ComposeTestRule en fonctions globales. (Icbe8f)
  • Déplacement des opérateurs de délégation de propriété [Mutable]State vers des extensions pour prendre en charge les optimisations de délégation de propriété Kotlin 1.4. Les appelants doivent ajouter des importations pour continuer à utiliser by state { ... } ou by mutableStateOf(...). (I5312c)
  • Abandon de ColoredRect. Utilisez Box(Modifier.preferredSize(width, height).drawBackground(color)) à la place. (I499fa, b/152753731)
  • Remplacement de l'opérateur plus du modificateur par des fonctions d'extension de fabrique (I225e4)
  • Abandon du composable Center, à remplacer par le modificateur LayoutSize.Fill + LayoutAlign.Center, ou par l'un des composables Box ou Stack auxquels sont appliqués les modificateurs appropriés. (Idf5e0)
  • Changement de nom : LayoutFlexible devient LayoutWeight. Changement de nom : le paramètre tight devient fill. (If4738)
  • La fonction modulable Opacity a été remplacée par le modificateur drawOpacity. (I5fb62)
  • Les tests utilisant AndroidComposeTestRule fournissent désormais une horloge d'animation à la racine de la composition, qui permet de l'interrompre, de la reprendre et de l'avancer manuellement. (Id54c5)
  • Prise en charge du sens de lecture de droite à gauche dans le modificateur LayoutPadding. (I9e8da)
  • Fusion de Density et DensityScope en une seule interface. Vous pouvez désormais utiliser DensityAmbient.current au lieu de ambientDensity(), et with(density) au lieu de withDensity(density). (I11cb1)
  • Ajout de méthodes de copie à divers types de classe inline, dont :
    • Offset
    • Size
    • Radius
    • Motion
    • TransformOrigin
    • Abandon de la méthode d'objet associée à Size.copy, à remplacer par une instance de méthode de copie (Ife290, b/159905651)
  • Déplacement d'androidx.compose.ViewComposer vers androidx.ui.node.UiComposer. androidx.compose.Emittable a été supprimé. car il faisait doublon avec ComponentNode. androidx.compose.ViewAdapters a été supprimé et n'est plus accepté. Compose.composeInto a été abandonné. Utilisez setContent ou setViewContent à la place. Compose.disposeComposition a été abandonné. Utilisez la méthode dispose sur le Composition renvoyé par setContent à la place. androidx.compose.Compose.subcomposeInto a été déplacé vers androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt a été renommé ComponentNode#insertAt ComponentNode#emitRemoveAt a été renommé ComponentNode#removeAt ComponentNode#emitMode a été renommé ComponentNode#move (Idef00)