Compose Animation
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(Consultez les documents de référence de l'API pour tous les packages Compose)
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
4 septembre 2024 | 1.7.0 | - | - | 1.8.0-alpha01 |
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.
Groupe | Description |
---|---|
compose.animation | Créer des animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur. |
compose.compiler | Transformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin. |
compose.foundation | Conception d'applications Jetpack Compose avec des composants prêts à l'emploi et extension de la base pour créer vos propres éléments de système de conception. |
compose.material | Cré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.runtime | Composants 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.ui | Composants 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 correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou de votre module :
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.7.0" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.0") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
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.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.8
Version 1.8.0-alpha01
4 septembre 2024
Publication d'androidx.compose.animation:animation-*:1.8.0-alpha01
. La version 1.8.0-alpha01 contient ces commits.
Nouvelles fonctionnalités
- Nouvelle API
Modifier.animateBounds
permettant d'animer les changements de taille et de position dans le champ d'application d'une analyse anticipée. 94b9394.
Modifications apportées à l'API
- Suppression des indicateurs expérimentaux sur les images clés avec des arcs et des sangles. (89e1199)
Correction de bugs
- Correction de
SharedTransitionScope
qui ne dessinait pas d'éléments dans certaines conditions. (b41077b6) - Ignorer la logique
placeHolderSize
lorsqu'aucune correspondance n'est trouvée. (77c0160) - Limitez la durée de lecture dans
AndroidFlingSpline
pour éviter les plantages dus à une augmentation non monotone de la durée de lecture. (9d47587)
Contribution externe
- Blocage de la définition de la transition
playTime
lorsqu'aucune transition n'est en cours d'exécution. c2e6e7e6
Version 1.7
Version 1.7.0
4 septembre 2024
Publication d'androidx.compose.animation:animation-*:1.7.0
.
Changements importants depuis la version 1.6.0
Les modifications importantes apportées à la version 1.7.0 sont présentées dans cet article de blog.
Nouvelles API Shared Element Transitions
- De nouvelles API de transition d'éléments partagés attendent votre utilisation et vos commentaires. Ces nouvelles API expérimentales permettent d'ajouter des balises aux mises en page partagées dans l'arborescence de mise en page à l'aide des modificateurs fournis. Les limites sont ainsi modifiées de façon fluide lorsqu'un ensemble de contenu partagé se ferme et que l'autre apparaît. (Icb0b9).
- Ajout de
scaleInSharedContentToBounds
etscaleOutSharedContentToBounds
pour adapter le contenu danssharedBounds
. (I731c1) - La version expérimentale
SharedTransitionScope
est désormais une interface plutôt qu'une classe. (Iaf856). - Ajout de
resizeModes
(ScaleToBounds
etRemeasureToBounds
) poursharedBounds
permettant de choisir entre le scaling et une nouvelle mesure. Les APIscaleIn/OutSharedContentToBounds
précédentes sont désormais obsolètes. (I0d41a).
Améliorations apportées aux API existantes:
- Nouveau
Modifier.animateContentSize
qui accepte un paramètre supplémentaire pour l'alignement de contenu personnalisé. (I5623a, b/269803907). - Ajout d'une
DeferredTargetAnimation
expérimentale pour animer la taille, la position ou toute autre cible inconnue lors de l'instanciation. (I60745). SeekableTransitionState
remplacesnapTo()
parseekTo()
et ajoute unsnapTo()
qui fait immédiatement passer l'état à un état de destination, sans aucun type d'animation.- Vous pouvez maintenant transmettre une valeur
periodicBias
(float) àkeyframesWithSpline
pour que la vitesse initiale et finale de la spline soit égale. Utile pour les animations reproductibles à l'aide de splines. Le biais indique dans quelle mesure chaque vitesse (initiale et finale) est modifiée pour atteindre la périodicité. (Ic1e6c, b/292114811).
Les API suivantes sont devenues stables ou ont été supprimées:
AnimatedVisibilityScope.transition
est désormais une API stable.Modifier.animateEnterExit(..)
est également devenu stable. (I6c1d1).ApproachLayoutModifierNode
etModifier.approachLayout
sont désormais stables, avec les nouveauxisMeasurementApproachInProgress()
etisPlacementApproachInProgress()
pour remplacer respectivement les anciensisMeasurementApproachComplete()
etisPlacementApproachComplete()
.- Suppression du modificateur
intermediateLayout
, devenu obsolète. (I3e91c). LookaheadScope
API ont été rendues stables. (I21507).
Version 1.7.0-rc01
21 août 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-rc01
. La version 1.7.0-rc01 contient ces commits.
Version 1.7.0-beta07
7 août 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-beta07
. La version 1.7.0-beta07 contient ces commits.
Correction de bugs
- Correction de
SharedTransitionScope
qui ne dessinait pas d'éléments de superposition lors de la transition dans certaines conditions, ce qui incluait généralement une utilisation avec Navigation (Id65ab, b/347520198).
Version 1.7.0-beta06
24 juillet 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-beta06
. La version 1.7.0-beta06 contient ces commits.
Correction de bugs
- Correction de la fuite d'états de transition de
SeekableTransition
en nettoyant correctement les observations deSnapshotStateObserver
lors de la suppression de la transition. (b9c7182). - Correction de cas particuliers où les transitions enfants ne sont pas correctement marquées comme terminées lorsque le parent est terminé. (dc42216).
Version 1.7.0-beta05
10 juillet 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-beta05
. La version 1.7.0-beta05 contient ces commits.
Correction de bugs
- La propriété "Transition"
totalDurationNanos
peut désormais être lue correctement dans un élémentsnapshotFlow
.
Version 1.7.0-beta04
26 juin 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-beta04
. La version 1.7.0-beta04 contient ces commits.
Version 1.7.0-beta03
12 juin 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-beta03
. La version 1.7.0-beta03 contient ces commits.
Version 1.7.0-beta02
29 mai 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-beta02
. La version 1.7.0-beta02 contient ces commits.
Version 1.7.0-beta01
14 mai 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-beta01
. La version 1.7.0-beta01 contient ces commits.
Modifications apportées à l'API
- Ajout de
resizeModes
(ScaleToBounds
etRemeasureToBounds
) poursharedBounds
permettant de choisir entre le scaling et une nouvelle mesure. Les APIscaleIn/OutSharedContentToBounds
précédentes sont désormais obsolètes. (I0d41a).
Contribution externe
- La version expérimentale
SharedTransitionScope
est désormais une interface plutôt qu'une classe. (Iaf856, b/338415048, b/338414702).
Version 1.7.0-alpha08
1er mai 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha08
. La version 1.7.0-alpha08 contient ces commits.
Modifications apportées à l'API
LookaheadScope
API sont devenues stables. (I21507).
Contribution externe
- Effacer le début de l'animation après
SeekableTransitionState
, par Steven Schoen (1ca89529)
Version 1.7.0-alpha07
17 avril 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha07
. La version 1.7.0-alpha07 contient ces commits.
Nouvelles fonctionnalités
- De nouvelles API de transition d'éléments partagés attendent votre utilisation et vos commentaires. Ces nouvelles API expérimentales permettent d'ajouter des balises aux mises en page partagées dans l'arborescence de mise en page à l'aide des modificateurs fournis. Les limites sont ainsi modifiées de façon fluide lorsqu'un ensemble de contenu partagé se ferme et que l'autre apparaît. (Icb0b9).
- Ajout de
scaleInSharedContentToBounds
etscaleOutSharedContentToBounds
pour adapter le contenu danssharedBounds
. (I731c1)
Modifications apportées à l'API
AnimatedVisibilityScope.transition
est désormais une API stable.Modifier.animateEnterExit(..)
est également devenu stable. (I6c1d1).ApproachLayoutModifierNode
etModifier.approachLayout
sont désormais stables, avec les nouveauxisMeasurementApproachInProgress()
etisPlacementApproachInProgress()
pour remplacer respectivement les anciensisMeasurementApproachComplete()
etisPlacementApproachComplete()
.- Suppression du modificateur
intermediateLayout
, devenu obsolète. (I3e91c). - Vous pouvez maintenant transmettre une valeur
periodicBias
(float) àkeyframesWithSpline
pour que la vitesse initiale et finale de la spline soit égale. Utile pour les animations reproductibles à l'aide de splines. Le biais indique dans quelle mesure chaque vitesse (initiale et finale) est modifiée pour atteindre la périodicité. (Ic1e6c, b/292114811).
Correction de bugs
- Correction des courbes de dépassement et de lissage de vitesse qui étaient auparavant limitées à 0..1. (I38747)
Version 1.7.0-alpha06
3 avril 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha06
. La version 1.7.0-alpha06 contient ces commits.
Nouvelles fonctionnalités
- Ajout de la prise en charge des animations liées à l'apparence et à la disparition des éléments dans
LazyColumn
etLazyRow
. Auparavant, il était possible d'ajouter le modificateurModifier.animateItemPlacement()
afin de prendre en charge les animations de placement (réorganisation). Nous avons abandonné ce modificateur et introduit un nouveau modificateur non expérimental appeléModifier.animateItem()
, qui vous permet d'accepter les trois types d'animation: l'apparence (fondu à l'ouverture), la disparition (Fondu à la fermeture) et la réorganisation. (I2d7f7, b/330152398, b/150812265).
Correction de bugs
- Amélioration des performances de l'API
updateTransition
.
Version 1.7.0-alpha05
20 mars 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha05
. La version 1.7.0-alpha05 contient ces commits.
Modifications apportées à l'API
SeekableTransitionState
remplacesnapTo()
parseekTo()
et ajoute unsnapTo()
qui fait immédiatement passer l'état à un état de destination, sans aucun type d'animation.
Version 1.7.0-alpha04
6 mars 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha04
. La version 1.7.0-alpha04 contient ces commits.
Modifications apportées à l'API
- Ajout de
Path.reverse()
d'API pour inverser le sens d'un chemin. (I36348)
Version 1.7.0-alpha03
21 février 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha03
. Liste des commits de la version 1.7.0-alpha03
Nouvelles fonctionnalités
- Nouveau
Modifier.animateContentSize
qui accepte un paramètre supplémentaire pour l'alignement de contenu personnalisé. (I5623a, b/269803907). - Ajout d'une
DeferredTargetAnimation
expérimentale pour animer la taille, la position ou toute autre cible inconnue lors de l'instanciation. (I60745).
Version 1.7.0-alpha02
7 février 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha02
. Liste des commits de la version 1.7.0-alpha02
Correction de bugs
- Correction de compatibilité pour
KeyframesSpec
. (I2bdf3, b/322214617). - Correction de
Modifier.animateContentSize
qui ne se réinitialisait pas correctement lorsqu'il était utilisé dansLazyList
. (I070512, b/322525716). - Correction de
IllegalStateException
surKeyframesSpec
lors de l'utilisation de codes temporels en dehors de la plage. (I341b8, b/322839811).
Version 1.7.0-alpha01
24 janvier 2024
Publication d'androidx.compose.animation:animation-*:1.7.0-alpha01
. Liste des commits de la version 1.7.0-alpha01
Version 1.6
Version 1.6.8
12 juin 2024
Publication d'androidx.compose.animation:animation-*:1.6.8
. La version 1.6.8 contient ces commits.
Version 1.6.7
1er mai 2024
Publication d'androidx.compose.animation:animation-*:1.6.7
. La version 1.6.7 contient ces commits.
Version 1.6.6
17 avril 2024
Publication d'androidx.compose.animation:animation-*:1.6.6
. Aucune modification depuis la version précédente
Version 1.6.5
3 avril 2024
Publication d'androidx.compose.animation:animation-*:1.6.5
. La version 1.6.5 contient ces commits.
Version 1.6.4
20 mars 2024
Publication d'androidx.compose.animation:animation-*:1.6.4
. La version 1.6.4 contient ces commits.
Version 1.6.3
6 mars 2024
Publication d'androidx.compose.animation:animation-*:1.6.3
. La version 1.6.3 contient ces commits.
Version 1.6.2
21 février 2024
Publication d'androidx.compose.animation:animation-*:1.6.2
. Liste des commits de la version 1.6.2
Version 1.6.1
7 février 2024
Publication d'androidx.compose.animation:animation-*:1.6.1
. Liste des commits de la version 1.6.1
Correction de bugs
- Correction de compatibilité pour
KeyframesSpec
. (I2bdf3, b/322214617).
Version 1.6.0
24 janvier 2024
Publication d'androidx.compose.animation:animation-*:1.6.0
. Liste des commits de la version 1.6.0
Version 1.6.0-rc01
10 janvier 2024
Publication d'androidx.compose.animation:animation-*:1.6.0-rc01
. Liste des commits de la version 1.6.0-rc01
Version 1.6.0-beta03
13 décembre 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-beta03
. Liste des commits de la version 1.6.0-beta03
Modifications apportées à l'API
- Suppression temporaire de
scaleInToFitContainer
etscaleOutToFitContainer
deAnimatedContentTransitionScope
, car ils nécessitent une analyse anticipée. Ils seront disponibles lorsque Lookahead sera activé par défaut ou dans les prochaines versions.
Version 1.6.0-beta02
29 novembre 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-beta02
. Liste des commits de la version 1.6.0-beta02
Version 1.6.0-beta01
15 novembre 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-beta01
. Liste des commits de la version 1.6.0-beta01
Modifications apportées à l'API
ExitTransition.Hold
a été renomméExitTransition.KeepUntilTransitionsFinished
pour être plus explicite. (I1c490).- Vous pouvez maintenant utiliser
keyframesWithSpline
pour interpoler n'importe quelle valeur à N dimensions à l'aide de splines monotones. Il est particulièrement utile d'interpoler des valeurs de position telles queOffset
,IntOffset
ouDpOffset
. Ajoutée en tant qu'API expérimentale.
Correction de bugs
- Ajout de la prise en charge du moteur de rendu pour le balayage du dégradé dans
ArcLine
. (I4d5bb). - Implémentez le code de hachage égal et le code de hachage pour
PageSize.Fixed
. (Ie3ede, b/300134276). - Résolution du problème de compatibilité binaire avec la modification de l'encart de fenêtre. (Iee695).
- Suppression de la couche principale Material pour la puce/le bouton Material3, car les microbenchmarks affichent de meilleures performances sans cet élément. (I55555).
Version 1.6.0-alpha08
18 octobre 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha08
. Liste des commits de la version 1.6.0-alpha08
Modifications apportées à l'API
- Abandon de
KeyframesSpecConfig#with
au profit deKeyframesSpecConfig#using
, qui conserve le modèle de compilateur. (I1d769).
Version 1.6.0-alpha07
4 octobre 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha07
. Liste des commits de la version 1.6.0-alpha07
Modifications apportées à l'API
- Les onglets fixes et défilants ont désormais des variantes principales et secondaires. Ceux-ci sont correctement mappés avec le comportement des couleurs et des indicateurs tel que défini dans Material3.
PrimaryScrollableTabRow
etSecondaryScrollableTabRow
exposent désormais l'état de défilement. (Iec8f5, b/260572337).
Version 1.6.0-alpha06
20 septembre 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha06
. Liste des commits de la version 1.6.0-alpha06
Version 1.6.0-alpha05
6 septembre 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha05
. Liste des commits de la version 1.6.0-alpha05
Modifications apportées à l'API
- Ajout de
PathEasing
pour permettre de fournir un tracé arbitraire à une courbe de lissage de vitesse. (Idb4b9).
Version 1.6.0-alpha04
23 août 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha04
. Liste des commits de la version 1.6.0-alpha04
Modifications apportées à l'API
- Ajout de
SeekableTransitionState
pour permettre aux développeurs de contrôler la progression d'une transition. (I8e69d).
Version 1.6.0-alpha03
9 août 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha03
. Liste des commits de la version 1.6.0-alpha03
Modifications apportées à l'API
- Nouveau type de transition d'entrée/de sortie qui adapte le contenu à la taille du conteneur animé lors de l'entrée et de la sortie pour quitter l'animation.
LookaheadScope
Les composables et l'interface sont désormais stables. (Ifb2ce).
Version 1.6.0-alpha02
26 juillet 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha02
. Liste des commits de la version 1.6.0-alpha02
Modifications apportées à l'API
- Nouveau
ExitTransition.Hold
permettant d'afficher le contenu sortant dansAnimatedContent
jusqu'à ce qu'il saisisse toutes les deux le texte "&" de sortie de transition sont terminées. (I5984f). - Annotations supplémentaires pour spécifier les entrées autorisées pour les composables. (I51109)
Version 1.6.0-alpha01
21 juin 2023
Publication d'androidx.compose.animation:animation-*:1.6.0-alpha01
. Liste des commits de la version 1.6.0-alpha01
Nouvelles fonctionnalités
- Activez
Modifier.animateContentSize
etAnimatedVisibility
pour une intégration complète dans le système d'attente en signalant la taille de la cible dans la passe d'analyse.
Modifications apportées à l'API
- Nouvelle propriété dans
IntrinsincMeasureScope
et ses implémentations (par exemple,MeasureScope
) pour indiquer si la mesure actuelle est une passe anticipée. (I7a812).
Correction de bugs
- Suppression des allocations des animations de rétroaction. (Ie9431).
- Modification du nom du paramètre de valeur pour Enum.valueOf. (Ia9b89)
- Autres exceptions générées à partir de l'énumération valueOf. (I818fe)
Version 1.5
Version 1.5.4
18 octobre 2023
Publication d'androidx.compose.animation:animation-*:1.5.4
. Liste des commits de la version 1.5.4
Version 1.5.3
4 octobre 2023
Publication d'androidx.compose.animation:animation-*:1.5.3
. Cette version n'a pas été modifiée
Version 1.5.2
27 septembre 2023
Publication d'androidx.compose.animation:animation-*:1.5.2
. Liste des commits de la version 1.5.2
Version 1.5.1
6 septembre 2023
Publication d'androidx.compose.foundation:foundation-*:1.5.1
. Liste des commits de la version 1.5.1
Correction de bugs
- Correction des champs de texte affichant le clavier et pouvant être modifiés lorsque
readOnly
est défini sur "true". Correction du problème d'affichage du clavier lorsquereadOnly
passe de "true" à "false" lorsque le curseur est sélectionné. (I34a19, b/246909589).
Version 1.5.1
6 septembre 2023
Publication d'androidx.compose.animation:animation-*:1.5.1
. Liste des commits de la version 1.5.1
Version 1.5.0
9 août 2023
Publication d'androidx.compose.animation:animation-*:1.5.0
. Liste des commits de la version 1.5.0
Version 1.5.0-rc01
26 juillet 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-rc01
. Liste des commits de la version 1.5.0-rc01
Correction de bugs
Correction d'un problème où l'appel de
.value
sur un type d'état primitif (commeMutableIntState
) générait un avertissement d'analyse lint avec une correction non valide. L'inspection recommandera à présent de migrer vers la bonne propriété. (Iba953, b/287279257).Une inspection facultative est disponible pour recommander la migration des appels
mutableStateOf()
vers les types spécialisés correspondants pour les primitives. Son ID lint estAutoboxingStateCreation
. Auparavant, cette inspection était activée par défaut pour tous les projets. Pour afficher cet avertissement dans l'éditeur Android Studio et dans les résultats lint de votre projet, remplacez son niveau de gravité par "Information" à "Avertissement" (ou supérieur) en déclarantwarning "AutoboxingStateCreation"
dans la configurationbuild.gradle
oubuild.gradle.kts
de votre module, comme indiqué. (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Version 1.5.0-beta03
28 juin 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-beta03
. Liste des commits de la version 1.5.0-beta03
Version 1.5.0-beta02
7 juin 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-beta02
. Liste des commits de la version 1.5.0-beta02
Version 1.5.0-beta01
24 mai 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-beta01
. Liste des commits de la version 1.5.0-beta01
Modifications apportées à l'API
- Suppression des allocations dans la recomposition, les animations de couleur et
AndroidComposeView
. (Ib2bfa)
Correction de bugs
- Suppression des allocations des animations de rétroaction. (Ie9431)
Version 1.5.0-alpha04
10 mai 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-alpha04
. Liste des commits de la version 1.5.0-alpha04
Modifications apportées à l'API
ContentKey
est désormais compatible avecAnimatedContent
pour vous permettre de mieux contrôler le moment où la transition doit avoir lieu. (Ic069b).
Version 1.5.0-alpha03
19 avril 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-alpha03
. Liste des commits de la version 1.5.0-alpha03
Nouvelles fonctionnalités
- Nouveau comportement par défaut pour
SubcomposeLayout
dansLookaheadScope
. Elle permet auxSubcomposeLayouts
sans emplacements conditionnels (par exemple,TabRow
,Scaffold
,BoxWithConstraints
, etc.) de fonctionner correctement avec les animations d'apparence.
Modifications apportées à l'API
- Le nouveau
intermediateMeasurePolicy
par défaut qui réutilise la règle de mesure de la transmission anticipée permet aux sous-typesSubcomposeLayout
sans emplacements conditionnels tels queScaffold
,TabRow
etBoxWithConstraints
de fonctionner avec l'aperçu par défaut. (Id84c8). - Renommage de l'élément infixe avec
togetherWith
pour combiner les transitions d'entrée et de sortie. NouveauAnimatedContentScope
en tant que récepteur du lambda de contenu. (Ic39ae).
Version 1.5.0-alpha02
5 avril 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-alpha02
. Liste des commits de la version 1.5.0-alpha02
Nouvelles fonctionnalités
- Nouvelle API expérimentale compatible avec l'analyse anticipée dans
SubcomposeLayout
. Cela permettra àSubcomposeLayout
de fonctionner correctement dans unLookaheadScope
. D'autres sous-types spécifiques deSubcomposeLayout
seront bientôt compatibles.
Modifications apportées à l'API
- Nouvelle API
SubcomposeLayout
qui accepte une règle de mesure intermédiaire supplémentaire pour gérer la logique de mesure/mise en page pendant basées sur les apparences. (I017d3).
Version 1.5.0-alpha01
22 mars 2023
Publication d'androidx.compose.animation:animation-*:1.5.0-alpha01
. Liste des commits de la version 1.5.0-alpha01
Modifications apportées à l'API
- Les API
AnimatedContent
sont désormais stables,AnimatedContentScope
a été renomméAnimatedContentTransitionScope
.scaleIn
etscaleOut
sont désormais des API stables. (Iaf54e).
Version 1.4
Version 1.4.3
3 mai 2023
Publication d'androidx.compose.animation:animation:1.4.3
, androidx.compose.animation:animation-core:1.4.3
et androidx.compose.animation:animation-graphics:1.4.3
sans aucune modification (seul une mise à jour de version).
Version 1.4.2
19 avril 2023
Publication d'androidx.compose.animation:animation:1.4.2
, d'androidx.compose.animation:animation-core:1.4.2
et d'androidx.compose.animation:animation-graphics:1.4.2
sans aucune modification. Liste des commits de la version 1.4.2
Version 1.4.1
5 avril 2023
Publication d'androidx.compose.animation:animation:1.4.1
, d'androidx.compose.animation:animation-core:1.4.1
et d'androidx.compose.animation:animation-graphics:1.4.1
sans aucune modification. Liste des commits de la version 1.4.1
Version 1.4.0
22 mars 2023
Publication d'androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
et androidx.compose.animation:animation-graphics:1.4.0
. Liste des commits de la version 1.4.0
Changements importants depuis la version 1.3.0
- Le libellé d'outil est compatible avec r
ememberInfiniteTransition
et toutes les fonctions d'extension surInfiniteTransition
et Transition (par exemple,InfiniteTransition#animateColor
). (I56ef7)
Version 1.4.0-rc01
8 mars 2023
Publication d'androidx.compose.animation:animation:1.4.0-rc01
, d'androidx.compose.animation:animation-core:1.4.0-rc01
et d'androidx.compose.animation:animation-graphics:1.4.0-rc01
sans aucune modification. Liste des commits de la version 1.4.0-rc01
Version 1.4.0-beta02
22 février 2023
Publication d'androidx.compose.animation:animation:1.4.0-beta02
, d'androidx.compose.animation:animation-core:1.4.0-beta02
et d'androidx.compose.animation:animation-graphics:1.4.0-beta02
sans aucune modification. Liste des commits de la version 1.4.0-beta02
Version 1.4.0-beta01
8 février 2023
Publication d'androidx.compose.animation:animation:1.4.0-beta01
, d'androidx.compose.animation:animation-core:1.4.0-beta01
et d'androidx.compose.animation:animation-graphics:1.4.0-beta01
sans aucune modification. Liste des commits de la version 1.4.0-beta01
Version 1.4.0-alpha05
25 janvier 2023
Publication d'androidx.compose.animation:animation:1.4.0-alpha05
, androidx.compose.animation:animation-core:1.4.0-alpha05
et androidx.compose.animation:animation-graphics:1.4.0-alpha05
. Liste des commits de la version 1.4.0-alpha05
Modifications
- Aucune modification dans les bibliothèques d'animation depuis la dernière version alpha. Il s'agit uniquement d'un saut de version.
Version 1.4.0-alpha04
11 janvier 2023
Publication d'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 d'InfiniteTransition
etTransition
(par exemple,InfiniteTransition#animateColor
) (I56ef7)
Modifications apportées à l'API
- Les API
InfiniteTransition#TransitionAnimationState
etInfiniteTransition#animations
sont désormais publiques. (I36682)
Version 1.4.0-alpha03
7 décembre 2022
Publication d'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 directementwithFrameNanos
ouwithFrameMillis
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 constructeurTestMonotonicFrameClock
et à une fonction de fabrique permettant d'exécuter du code après les rappelswithFrameNanos
, 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 d'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 d'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 d'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 d'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
Correction de bugs
- Mise à jour pour prendre en charge androidx.compose.ui 1.3.2
Version 1.3.1
9 novembre 2022
Publication d'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 d'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 d'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 d'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
etAnimatable
pour le libellé 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. LesSubcomposeLayouts
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
- Compose Animation est désormais compatible 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
désormais compatible avecrepeatCount
etrepeatMode
.
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 avecrepeatCount
etrepeatMode
(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 deanimatedVectorResource
pour charger un fichier de ressources<animated-vector>
.- Utilisez
rememberAnimatedVectorResource
à la place deAnimatedImageVector#painterFor
pour afficher unAnimatedImageVector
. (I9c300)
- Utilisez
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
Correction de bugs
- Correction d'une exception
NullPointerException
dansandroidx.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 d'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 deanimatedVectorResource
pour charger un fichier de ressources<animated-vector>
.- Utilisez
rememberAnimatedVectorResource
à la place deAnimatedImageVector#painterFor
pour afficher unAnimatedImageVector
. (I9c300)
- Utilisez
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 APIAnimatedVisibility
sont passées en version 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 Kotlin1.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 moduleandroidx.compose.animation:animation-graphics
. (I60873)
Correction de bugs
- Déplacement de
InfiniteAnimationPolicy
vers :compose:ui (I5eb09, b/160602714)
Version 1.0
Version 1.0.5
3 novembre 2021
Publication d'androidx.compose.animation:animation:1.0.5
et d'androidx.compose.animation:animation-core:1.0.5
. Liste des commits de la version 1.0.5
Correction 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 d'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 d'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 d'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 d'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 AGP7.1
. (b/194289155)
Version 1.0.0-rc02
14 juillet 2021
Publication d'androidx.compose.animation:animation:1.0.0-rc02
et d'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 d'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
versandroidx.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 d'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 deContentTransform
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ôtcomposeTestRule.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épertoiresrc/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èresH
,S
etP
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 classeandroidx.compose.runtime.SlotTable
aurait comme descripteurLandroidx/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éthodefun isPlaced(): Boolean
surLayoutNode
aurait pour signatureisPlaced()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 tas 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 d'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
etdetectHorizontalGestures
, 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 dansMutableTransitionState
. Elle permet d'observer les états d'animation en dehors deAnimatedVisibility
viacurrentState
etisIdle
.- 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 d'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
etBoxWithConstraintsScope
. (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
Correction 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 queButton
etModifier.clickable()
, utilisezinteractionSource = 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 d'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) - Bounds a été renommé 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 d'Animatable.snapTo et Animatable.stop en fonctions de suspension (If4288)
- Nous avons précédemment supprimé le composable
state { 0 }
et encourageons désormais des approches telles queremember { mutableStateOf(0) }
. Nous allons de même supprimer le composablesavedInstanceState { 0 }
. Nous vous invitons à utiliserrememberSaveable { 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ètrestateSaver
. 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 avecComposeTestRule
. (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
etVectorizedAnimationSpec.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)
- Les composants cliquables, ainsi que ceux qui peuvent être activés/désactivés et sélectionnés 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)
etitemsIndexed(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
, par souci de cohérence 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()
paranimateAsState()
, qui renvoieState<T>
au lieu deT
. 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 d'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 verscontent
, 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é. UtilisezModifier.onGloballyPositioned
.Modifier.onDraw
a été supprimé. UtilisezModifier.onDrawBehind
.Modifier.plus
a été supprimé. UtilisezModifier.then
.Color.Unset
a été supprimé. UtilisezColor.Unspecified
.- La classe
PxBounds
a été supprimée. UtilisezRect
à 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)
- Les modificateurs offsetPx sont renommés 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) - Le contrôle du temps dans les tests (TestAnimationClock et ses utilisations) est 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éeRestorableStateProvider
(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 d(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 derunBlocking
parrunWithManualClock
lors de l'exécution de tests nécessitant un ManualFrameClock ; accès facilité au coordinateur d'UI principal pour vos tests avecTestUiDispatcher.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") } }
Correction de bugs
onPreCommit est obsolète et onCommit adopte désormais son comportement.
onCommit et onActive s'exécutent désormais dans le même frame de chorégraphe que celui dans lequel la composition est modifiée, plutôt qu'au début du nouveau frame 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()
devientPlacementScope.place()
, tandis que le précédentPlacementScope.place()
devientPlacementScope.placeRelative()
. Par conséquent, la méthodePlacementScope.place()
ne met plus automatiquement en miroir la position dans les contextes lus de droite à gauche. Si cette approche est souhaitée, utilisez plutôtPlacementScope.placeRelative()
. (I873ac, b/162916675) - Abandon du composable
state { ... }
, remplacé 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èleby 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 queAnimationClockObservable
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 deManualAnimationClock
est désormaisManualFrameClock
. (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) - Modifier.drawBackground a été renommé 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 constructeurdispatchOnSubscribe: Boolean
(Iaa134) - Ajout d'API pour atteindre les limites minimale et maximale dans AnimatedFloat (Icd9cc)
Correction de bugs
runOnIdleCompose
a été renommérunOnIdle
(I83607)- Changement de nom 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
etrunOnUiThread
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 { ... }
ouby 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 d'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
ousetViewContent
à la place. Compose.disposeComposition a été abandonné. Utilisez la méthodedispose
sur leComposition
renvoyé parsetContent
à 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)