Sobes.tech
Junior — Middle

Πώς διαχειρίζεστε την κινούμενη εικόνα μέσω του AnimationController στην εφαρμογή σας;

sobes.tech AI

Απάντηση από AI

Στο Flutter, η κλάση AnimationController χρησιμοποιείται για τον έλεγχο της κινούμενης εικόνας. Επιτρέπει την εκκίνηση, διακοπή, επανάληψη και έλεγχο της προόδου της κινούμενης εικόνας.

Βασικά βήματα:

  1. Δημιουργήστε έναν AnimationController στην κατάσταση του widget (συνήθως στη μέθοδο initState), καθορίζοντας τη διάρκεια της κινούμενης εικόνας και το vsync (για βελτιστοποίηση πόρων).
  2. Χρησιμοποιήστε τις μεθόδους του ελεγκτή: forward(), reverse(), repeat(), stop() για τον έλεγχο της κινούμενης εικόνας.
  3. Εγγραφείτε στις αλλαγές της τιμής της κινούμενης εικόνας μέσω ενός ακροατή (addListener) για να ενημερώνετε το UI.
  4. Μην ξεχάσετε να ελευθερώσετε τους πόρους καλώντας dispose() στη μέθοδο dispose του widget.

Παράδειγμα:

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 κατά την αλλαγή της κινούμενης εικόνας
      });
    _controller.forward(); // ξεκινάει η κινούμενη εικόνα
  }

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

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // τιμή από 0.0 έως 1.0
      child: YourWidget(),
    );
  }
}