Junior — Middle
Jak spravovat animaci pomocí AnimationController ve vaší aplikaci?
sobes.tech AI
Odpověď od AI
Ve Flutteru se k animaci řízení používá třída AnimationController. Umožňuje spouštět, zastavovat, opakovat a kontrolovat průběh animace.
Hlavní kroky:
- Vytvořte AnimationController ve stavu widgetu (obvykle v metodě initState), specifikujte délku trvání animace a vsync (pro optimalizaci zdrojů).
- Používejte metody kontroléru:
forward(),reverse(),repeat(),stop()pro řízení animace. - Přihlaste se ke změnám hodnoty animace přes posluchač (
addListener) pro aktualizaci UI. - Nezapomeňte uvolnit zdroje voláním
dispose()v metodědisposewidgetu.
Pří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 při změně animace
});
_controller.forward(); // spustí animaci
}
@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(),
);
}
}