Sobes.tech
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:

  1. Crea un AnimationController nello stato del widget (di solito nel metodo initState), specificando la durata dell'animazione e vsync (per ottimizzare le risorse).
  2. Usa i metodi del controller: forward(), reverse(), repeat(), stop() per gestire l'animazione.
  3. Iscriviti alle modifiche del valore dell'animazione tramite un listener (addListener) per aggiornare l'interfaccia utente.
  4. Non dimenticare di liberare le risorse chiamando dispose() nel metodo dispose del 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(),
    );
  }
}