Junior — Middle
Πώς διαχειρίζεστε την κινούμενη εικόνα μέσω του AnimationController στην εφαρμογή σας;
sobes.tech AI
Απάντηση από AI
Στο Flutter, η κλάση AnimationController χρησιμοποιείται για τον έλεγχο της κινούμενης εικόνας. Επιτρέπει την εκκίνηση, διακοπή, επανάληψη και έλεγχο της προόδου της κινούμενης εικόνας.
Βασικά βήματα:
- Δημιουργήστε έναν AnimationController στην κατάσταση του widget (συνήθως στη μέθοδο initState), καθορίζοντας τη διάρκεια της κινούμενης εικόνας και το vsync (για βελτιστοποίηση πόρων).
- Χρησιμοποιήστε τις μεθόδους του ελεγκτή:
forward(),reverse(),repeat(),stop()για τον έλεγχο της κινούμενης εικόνας. - Εγγραφείτε στις αλλαγές της τιμής της κινούμενης εικόνας μέσω ενός ακροατή (
addListener) για να ενημερώνετε το UI. - Μην ξεχάσετε να ελευθερώσετε τους πόρους καλώντας
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(),
);
}
}