Junior — Middle
Kaip valdyti animaciją naudojant AnimationController jūsų programoje?
sobes.tech AI
Atsakymas iš AI
Flutter'e animacijai valdyti naudojama AnimationController klasė. Ji leidžia pradėti, sustabdyti, kartoti ir kontroliuoti animacijos progresą.
Pagrindiniai žingsniai:
- Sukurkite AnimationController widget'o būsenoje (dažniausiai initState metode), nurodydami animacijos trukmę ir vsync (resursų optimizavimui).
- Naudokite kontrolerio metodus:
forward(),reverse(),repeat(),stop()animacijai valdyti. - Prenumeruokite animacijos reikšmės pokyčius per
addListener, kad atnaujintumėte UI. - Nepamirškite išlaisvinti išteklių iškviesdami
dispose()widget'odisposemetode.
Pavyzdys:
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(() {}); // atnaujina UI keičiantis animacijai
});
_controller.forward(); // pradeda animaciją
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Opacity(
opacity: _controller.value, // reikšmė nuo 0.0 iki 1.0
child: YourWidget(),
);
}
}