Sobes.tech
Junior — Middle

Kako upravljati animacijom putem AnimationController u vašoj aplikaciji?

sobes.tech АИ

Одговор од АИ

U Flutter-u, klasa AnimationController se koristi za upravljanje animacijom. Ona omogućava pokretanje, zaustavljanje, ponavljanje i kontrolu napretka animacije.

Glavni koraci:

  1. Kreirajte AnimationController u stanju widget-a (obično u metodi initState), navodeći trajanje animacije i vsync (za optimizaciju resursa).
  2. Koristite metode kontrolera: forward(), reverse(), repeat(), stop() za upravljanje animacijom.
  3. Pretplatite se na promene vrednosti animacije putem slušaoca (addListener) da biste ažurirali UI.
  4. Ne zaboravite da oslobodite resurse pozivom dispose() u metodi dispose widget-a.

Primer:

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(() {}); // ažurira UI pri promeni animacije
      });
    _controller.forward(); // pokreće animaciju
  }

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

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // vrednost od 0.0 do 1.0
      child: YourWidget(),
    );
  }
}