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:
- Widget durumunda bir AnimationController oluşturun (genellikle initState metodunda), animasyon süresini ve vsync'i belirtin (kaynakları optimize etmek için).
- Kontrolörün metodlarını kullanın:
forward(),reverse(),repeat(),stop()animasyonu yönetmek için. - Animasyon değerindeki değişikliklere bir dinleyici (
addListener) aracılığıyla abone olun ve UI'yi güncelleyin. - Kaynakları serbest bırakmayı unutmayın, widget'in
disposemetodundadispose()ç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(),
);
}
}