Sobes.tech
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:

  1. Widget holatida AnimationController yarating (odatda initState metodida), animatsiya davomiyligini va vsync ni ko'rsating (resurslarni optimallashtirish uchun).
  2. Kontroller metodlaridan foydalaning: forward(), reverse(), repeat(), stop() animatsiyani boshqarish uchun.
  3. Animatsiya qiymatidagi o'zgarishlarga addListener yordamida obuna bo'ling va UI ni yangilang.
  4. Resurslarni bo'shatishni unutmang, widgetning dispose metodida dispose() 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(),
    );
  }
}