Junior — Middle
Ako spravovať animáciu pomocou AnimationController vo vašej aplikácii?
sobes.tech AI
Odpoveď od AI
V Flutteri sa na riadenie animácie používa trieda AnimationController. Umožňuje spúšťanie, zastavenie, opakovanie a kontrolu priebehu animácie.
Hlavné kroky:
- Vytvorte AnimationController v stave widgetu (zvyčajne v metóde initState), pričom určíte dĺžku trvania animácie a vsync (pre optimalizáciu zdrojov).
- Používajte metódy kontroléra:
forward(),reverse(),repeat(),stop()na riadenie animácie. - Prihláste sa na zmeny hodnoty animácie pomocou poslucháča (
addListener) na aktualizáciu UI. - Zabudnite na uvoľnenie zdrojov volaním
dispose()v metódedisposewidgetu.
Príklad:
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 pri zmene animácie
});
_controller.forward(); // spustí animáciu
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Opacity(
opacity: _controller.value, // hodnota od 0.0 do 1.0
child: YourWidget(),
);
}
}