Sobes.tech
Junior — Middle

Hogyan kezeljük az animációt az AnimationController segítségével az alkalmazásodban?

sobes.tech MI

Válasz az MI-től

A Flutterben az AnimationController osztályt az animáció kezelésére használják. Lehetővé teszi az animáció indítását, megállítását, ismétlését és az előrehaladásának ellenőrzését.

Fő lépések:

  1. Hozzon létre egy AnimationController-t a widget állapotában (általában az initState módszerben), megadva az animáció időtartamát és a vsync-et (az erőforrások optimalizálása érdekében).
  2. Használja a vezérlő módszereit: forward(), reverse(), repeat(), stop() az animáció irányításához.
  3. Iratkozzon fel az animáció értékének változásaira egy listener (addListener) segítségével, hogy frissítse a UI-t.
  4. Ne felejtse el felszabadítani az erőforrásokat a dispose() hívásával a widget dispose módszerében.

Példa:

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(() {}); // UI frissítése az animáció változásakor
      });
    _controller.forward(); // animáció indítása
  }

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

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // 0.0-tól 1.0-ig érték
      child: YourWidget(),
    );
  }
}