Sobes.tech
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:

  1. Vytvořte AnimationController ve stavu widgetu (obvykle v metodě initState), specifikujte délku trvání animace a vsync (pro optimalizaci zdrojů).
  2. Používejte metody kontroléru: forward(), reverse(), repeat(), stop() pro řízení animace.
  3. Přihlaste se ke změnám hodnoty animace přes posluchač (addListener) pro aktualizaci UI.
  4. Nezapomeňte uvolnit zdroje voláním dispose() v metodě dispose widgetu.

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