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