Sobes.tech
Junior — Middle

Wie steuert man die Animation mit dem AnimationController in Ihrer Anwendung?

sobes.tech KI

Antwort von AI

In Flutter wird die Klasse AnimationController verwendet, um die Animation zu steuern. Sie ermöglicht das Starten, Stoppen, Wiederholen und Kontrollieren des Animationsfortschritts.

Hauptschritte:

  1. Erstellen Sie einen AnimationController im Zustand des Widgets (normalerweise in der Methode initState), wobei Sie die Dauer der Animation und vsync (zur Ressourcenoptimierung) angeben.
  2. Verwenden Sie die Methoden des Controllers: forward(), reverse(), repeat(), stop(), um die Animation zu steuern.
  3. Abonnieren Sie Änderungen am Animationswert über einen Listener (addListener), um die UI zu aktualisieren.
  4. Vergessen Sie nicht, die Ressourcen freizugeben, indem Sie dispose() im dispose-Methode des Widgets aufrufen.

Beispiel:

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 bei Animationsänderung aktualisieren
      });
    _controller.forward(); // Animation starten
  }

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

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