Junior — Middle
Flutter'da animasyonların uygulanması ve özellikleri hakkında bilgi verebilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Flutter'da animasyonlar, düzgün ve özelleştirilebilir geçişler oluşturmayı sağlayan yerleşik bir animasyon çerçevesi kullanılarak gerçekleştirilir. Temel özellikler:
- İmplicite Animasyonlar — basit animasyonlar, sadece widget özelliğini değiştirmek yeterlidir, örneğin
AnimatedContainer,AnimatedOpacity. Bunlar otomatik olarak animasyonlanır. - Eksplisit Animasyonlar — daha esnektir, bir animasyon denetleyicisi (
AnimationController) gerektirir, zaman, eğriler ve animasyon durumlarını yönetmeye olanak tanır. - Tween — animasyon için değer aralığını belirler (örneğin, 0'dan 1'e).
- AnimationController — animasyon süresini kontrol eder, başlatabilir, durdurabilir, tekrar edebilir.
- CurvedAnimation — değişim eğrisini belirlemeye olanak tanır (ease-in, ease-out vb.).
Örnek: Boyut değişimi için açık animasyon:
class MyAnimatedWidget extends StatefulWidget {
@override
_MyAnimatedWidgetState createState() => _MyAnimatedWidgetState();
}
class _MyAnimatedWidgetState extends State<MyAnimatedWidget> with SingleTickerProviderStateMixin {
late AnimationController _controller;
late Animation<double> _animation;
@override
void initState() {
super.initState();
_controller = AnimationController(
duration: const Duration(seconds: 2),
vsync: this,
);
_animation = Tween<double>(begin: 100, end: 200).animate(
CurvedAnimation(parent: _controller, curve: Curves.easeInOut),
);
_controller.repeat(reverse: true);
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: _animation,
builder: (context, child) {
return Container(
width: _animation.value,
height: _animation.value,
color: Colors.blue,
);
},
);
}
}
Özellikler:
- Motor seviyesinde render sayesinde yüksek performans.
- Animasyonların kombinlenebilmesi.
- Dokunma ve etkileşimli animasyonlara destek.
- Flutter widgetleriyle iyi entegrasyon.