Sobes.tech
Junior — Middle

Comment gérer l'animation via AnimationController dans votre application?

sobes.tech IA

Réponse de l'IA

En Flutter, la classe AnimationController est utilisée pour gérer l'animation. Elle permet de démarrer, arrêter, répéter et contrôler la progression de l'animation.

Étapes principales:

  1. Créez un AnimationController dans l'état du widget (généralement dans la méthode initState), en spécifiant la durée de l'animation et vsync (pour optimiser les ressources).
  2. Utilisez les méthodes du contrôleur : forward(), reverse(), repeat(), stop() pour gérer l'animation.
  3. Abonnez-vous aux changements de valeur de l'animation via un écouteur (addListener) pour mettre à jour l'interface utilisateur.
  4. N'oubliez pas de libérer les ressources en appelant dispose() dans la méthode dispose du widget.

Exemple:

class MyAnimatedWidgetState extends State<MyAnimatedWidget> with SingleTickerProviderStateMixin {
  late AnimationController _controller;

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(
      duration: const Duration(seconds: 2),
      vsync: this,
    )..addListener(() {
        setState(() {}); // met à jour l'UI lors du changement d'animation
      });
    _controller.forward(); // démarre l'animation
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // valeur de 0.0 à 1.0
      child: YourWidget(),
    );
  }
}