Sobes.tech
Junior — Middle

Kuidas hallata animatsiooni, kasutades AnimationController teie rakenduses?

sobes.tech AI

Vastus AI-lt

Flutteris kasutatakse klassi AnimationController animatsiooni juhtimiseks. See võimaldab käivitada, peatada, korrata ja kontrollida animatsiooni edenemist.

Peamised sammud:

  1. Looge AnimationController widgeti olekus (tavaliselt initState meetodis), määrates animatsiooni kestuse ja vsync (ressursside optimeerimiseks).
  2. Kasutage kontrolleri meetodeid: forward(), reverse(), repeat(), stop() animatsiooni juhtimiseks.
  3. Tellige animatsiooni väärtuse muutustele addListener kaudu, et UI-d värskendada.
  4. Ärge unustage vabastada ressursid, kutsudes välja dispose() widgeti dispose meetodis.

Näide:

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(() {}); // uuendab UI animatsiooni muutumisel
      });
    _controller.forward(); // käivitab animatsiooni
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // väärtus 0.0 kuni 1.0
      child: YourWidget(),
    );
  }
}