Junior — Middle
Cum gestionezi animația prin AnimationController în aplicația ta?
sobes.tech AI
Răspuns de la AI
În Flutter, clasa AnimationController este utilizată pentru a gestiona animația. Aceasta permite pornirea, oprirea, repetarea și controlul progresului animației.
Pașii principali:
- Creați un AnimationController în starea widget-ului (de obicei în metoda initState), specificând durata animației și vsync (pentru optimizarea resurselor).
- Utilizați metodele controlerului:
forward(),reverse(),repeat(),stop()pentru a gestiona animația. - Abonați-vă la modificările valorii animației printr-un listener (
addListener) pentru a actualiza UI-ul. - Nu uitați să eliberați resursele apelând
dispose()în metodadisposea widget-ului.
Exemplu:
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(() {}); // actualizează UI-ul la schimbarea animației
});
_controller.forward(); // pornește animația
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Opacity(
opacity: _controller.value, // valoare de la 0.0 la 1.0
child: YourWidget(),
);
}
}