updateTransition pour des mouvements coordonnés
Animez plusieurs valeurs à partir d’un même état.
updateTransition pour des mouvements coordonnés est une leçon Jetpack Compose Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Jetpack Compose Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Animate Many Values Together
When several properties should change as one state shifts, you want them in sync. updateTransition coordinates many animations from a single state. ✨
Start From a State
Create a transition by handing updateTransition your current state. Compose watches it and drives every child animation when the state changes.
val transition = updateTransition(targetState = expanded)Derive Animated Values
Ask the transition for each value with animateDp, animateColor, and friends. You give a lambda mapping each state to its target.
val size by transition.animateDp { if (it) 200.dp else 80.dp }Many Values, One Source
Add as many child animations as you like from the same transition. Size, color, and corner radius all change together from one boolean.
val corner by transition.animateDp { if (it) 0.dp else 24.dp }Perfectly Coordinated
Because they share one transition, the values stay in lockstep. There is no risk of size finishing before color, which can happen with separate animateAsState calls.
Use the Values in Modifiers
Read each animated value just like normal state and apply it. The whole element morphs smoothly as the transition runs every frame.
Box(Modifier.size(size).clip(RoundedCornerShape(corner)))Per-Value Timing
Each child can have its own transitionSpec. Make color snap fast while size eases slowly, all still triggered by the same state change.
transition.animateDp(transitionSpec = { tween(600) }) { ... }More Than Two States
Your state can be an enum, not just a boolean. Map each case to a target and the transition animates between any of them.
enum class BoxState { Collapsed, Half, Expanded }Inspect Current and Target
The transition exposes currentState and targetState. You can check whether motion is still in flight or has settled on the goal.
When to Reach for It
Pick updateTransition when one event should drive a set of coordinated changes, like expanding a card while its color and elevation shift in unison. 🎬
Lighter Than Many Calls
Grouping animations under one transition is cleaner and easier to reason about than juggling several independent animate*AsState values.
Quick Check
What is the main benefit of updateTransition over separate animate*AsState calls?
Recap: One State, Many Motions
You learned updateTransition: derive several animated values from one state so they move in perfect sync, each with its own timing. 🎉
Apprends Kotlin avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « updateTransition pour des mouvements coordonnés » est-elle gratuite ?
Oui — le texte complet de « updateTransition pour des mouvements coordonnés » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Jetpack Compose Academy, passe à CoddyKit PRO. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « updateTransition pour des mouvements coordonnés » ?
Animez plusieurs valeurs à partir d’un même état. Tu pratiques Jetpack Compose Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Jetpack Compose Academy ?
Aucune expérience préalable n'est requise. Jetpack Compose Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « updateTransition pour des mouvements coordonnés » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Jetpack Compose Academy ?
Oui. Chaque leçon Jetpack Compose Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- animate*AsState pour des interpolations simples
- AnimatedVisibility et Crossfade
- updateTransition pour des mouvements coordonnés
- Animations pilotées par les gestes