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:
- 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).
- Usa los métodos del controlador:
forward(),reverse(),repeat(),stop()para gestionar la animación. - Suscríbete a los cambios en el valor de la animación mediante un listener (
addListener) para actualizar la UI. - No olvides liberar los recursos llamando a
dispose()en el métododisposedel 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(),
);
}
}