Junior — Middle
Ilovangizda AnimationController orqali animatsiyani qanday boshqarish mumkin?
sobes.tech AI
AIdan javob
Flutter'da animatsiyani boshqarish uchun AnimationController sinfi ishlatiladi. U animatsiyani boshlash, to'xtatish, takrorlash va rivojlanishini nazorat qilish imkonini beradi.
Asosiy bosqichlar:
- Widget holatida AnimationController yarating (odatda initState metodida), animatsiya davomiyligini va vsync ni ko'rsating (resurslarni optimallashtirish uchun).
- Kontroller metodlaridan foydalaning:
forward(),reverse(),repeat(),stop()animatsiyani boshqarish uchun. - Animatsiya qiymatidagi o'zgarishlarga
addListeneryordamida obuna bo'ling va UI ni yangilang. - Resurslarni bo'shatishni unutmang, widgetning
disposemetodidadispose()chaqiring.
Misol:
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(() {}); // animatsiya o'zgarishi bilan UI yangilanadi
});
_controller.forward(); // animatsiyani boshlash
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Opacity(
opacity: _controller.value, // 0.0 dan 1.0 gacha qiymat
child: YourWidget(),
);
}
}