Junior — Middle
Jak zarządzać animacją za pomocą AnimationController w Twojej aplikacji?
sobes.tech AI
Odpowiedź od AI
W Flutterze do zarządzania animacją używa się klasy AnimationController. Pozwala ona na uruchamianie, zatrzymywanie, powtarzanie i kontrolowanie postępu animacji.
Główne kroki:
- Utwórz AnimationController w stanie widżetu (zazwyczaj w metodzie initState), określając czas trwania animacji i vsync (w celu optymalizacji zasobów).
- Używaj metod kontrolera:
forward(),reverse(),repeat(),stop()do zarządzania animacją. - Subskrybuj zmiany wartości animacji za pomocą słuchacza (
addListener), aby aktualizować UI. - Nie zapomnij zwolnić zasobów, wywołując
dispose()w metodziedisposewidżetu.
Przykład:
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(() {}); // aktualizuje UI przy zmianie animacji
});
_controller.forward(); // uruchamia animację
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Opacity(
opacity: _controller.value, // wartość od 0.0 do 1.0
child: YourWidget(),
);
}
}