Sobes.tech
Junior — Middle

¿Cómo gestionar la animación a través de AnimationController en su aplicación?

sobes.tech AI

Respuesta de la IA

En Flutter, se utiliza la clase AnimationController para gestionar la animación. Permite iniciar, detener, repetir y controlar el progreso de la animación.

Pasos principales:

  1. Crea un AnimationController en el estado del widget (generalmente en el método initState), especificando la duración de la animación y vsync (para optimizar recursos).
  2. Usa los métodos del controlador: forward(), reverse(), repeat(), stop() para gestionar la animación.
  3. Suscríbete a los cambios en el valor de la animación mediante un listener (addListener) para actualizar la UI.
  4. No olvides liberar los recursos llamando a dispose() en el método dispose del widget.

Ejemplo:

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(() {}); // actualiza la UI al cambiar la animación
      });
    _controller.forward(); // inicia la animación
  }

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

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