Junior — Middle
Come gestire l'animazione tramite AnimationController nella tua applicazione?
sobes.tech AI
Risposta dell'AI
In Flutter, la classe AnimationController viene utilizzata per gestire l'animazione. Permette di avviare, fermare, ripetere e controllare il progresso dell'animazione.
Passaggi principali:
- Crea un AnimationController nello stato del widget (di solito nel metodo initState), specificando la durata dell'animazione e vsync (per ottimizzare le risorse).
- Usa i metodi del controller:
forward(),reverse(),repeat(),stop()per gestire l'animazione. - Iscriviti alle modifiche del valore dell'animazione tramite un listener (
addListener) per aggiornare l'interfaccia utente. - Non dimenticare di liberare le risorse chiamando
dispose()nel metododisposedel widget.
Esempio:
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(() {}); // aggiorna l'UI al cambiare dell'animazione
});
_controller.forward(); // avvia l'animazione
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Opacity(
opacity: _controller.value, // valore da 0.0 a 1.0
child: YourWidget(),
);
}
}