Sobes.tech
Junior — Middle

Uygulamanızda AnimationController aracılığıyla animasyonu nasıl yönetirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Flutter'da animasyonu yönetmek için AnimationController sınıfı kullanılır. Bu, animasyonu başlatmaya, durdurmaya, tekrarlamaya ve ilerlemesini kontrol etmeye olanak tanır.

Ana adımlar:

  1. Widget durumunda bir AnimationController oluşturun (genellikle initState metodunda), animasyon süresini ve vsync'i belirtin (kaynakları optimize etmek için).
  2. Kontrolörün metodlarını kullanın: forward(), reverse(), repeat(), stop() animasyonu yönetmek için.
  3. Animasyon değerindeki değişikliklere bir dinleyici (addListener) aracılığıyla abone olun ve UI'yi güncelleyin.
  4. Kaynakları serbest bırakmayı unutmayın, widget'in dispose metodunda dispose() çağırın.

Örnek:

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(() {}); // animasyon değiştiğinde UI'yi güncelle
      });
    _controller.forward(); // animasyonu başlat
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // 0.0 ile 1.0 arasında değer
      child: YourWidget(),
    );
  }
}