Sobes.tech
Junior — Middle

Como gerir a animação através do AnimationController na sua aplicação?

sobes.tech IA

Resposta da IA

No Flutter, a classe AnimationController é usada para gerir a animação. Ela permite iniciar, parar, repetir e controlar o progresso da animação.

Principais passos:

  1. Crie um AnimationController no estado do widget (geralmente no método initState), especificando a duração da animação e vsync (para otimizar recursos).
  2. Use os métodos do controlador: forward(), reverse(), repeat(), stop() para gerir a animação.
  3. Subscreva-se às mudanças no valor da animação através de um ouvinte (addListener) para atualizar a interface do utilizador.
  4. Não se esqueça de libertar os recursos chamando dispose() no método dispose do widget.

Exemplo:

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(() {}); // atualiza a UI ao alterar a animação
      });
    _controller.forward(); // inicia a animação
  }

  @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(),
    );
  }
}