🛢️Parcours Fioul GroupéFlutter · Chapitre 15
Accueil › Flutter › Chapitre 15
Chapitre 15 / 19

Animations

Donner vie à l'interface : des animations implicites simples aux animations contrôlées, et la transition Hero entre écrans.

1 Notion

Les animations implicites

Le plus simple : les widgets AnimatedXxx animent tout seuls un changement de valeur. Ex. AnimatedContainer anime une taille/couleur quand on change ses propriétés dans setState.

AnimatedContainer(
  duration: const Duration(milliseconds: 400),
  width: _plein ? 200 : 100,
  color: _plein ? Colors.green : Colors.grey,
)
2 Notion

Les animations contrôlées

Pour un contrôle fin, un AnimationController (avec un TickerProvider) pilote la progression : forward(), reverse(), repeat().

3 Notion

Les Tween

Un Tween définit l'intervalle de valeurs (début → fin) que l'animation interpole (une opacité de 0 à 1, une position…).

4 Notion

La transition Hero

Hero anime en douceur un élément partagé d'un écran à l'autre (une image de liste qui « vole » vers l'écran détail), via un même tag.

🛢️ Sur le projet Fioul Groupé

Anime la jauge de volume avec AnimatedContainer quand une inscription fait monter le total. Optionnel : un Hero sur l'icône de la campagne entre la liste et le détail. Les animations doivent rester sobres : elles servent la lisibilité.

À retenir
  • Implicites (AnimatedContainer…) pour les cas simples.
  • Contrôlées : AnimationController + Tween.
  • Hero pour une transition d'élément partagé entre écrans.
← Chapitre 14