Nisa Efendioğlu

Jetpack Compose ile Animasyon Oluşturma

Profile picture

Nisa Efendioğlu

Post Image

Jetpack Compose ile Animasyon Oluşturma: Adım Adım Kılavuz

Merhaba! Bu yazıda, Jetpack Compose kullanarak nasıl kolayca animasyon yapabileceğinizi adım adım anlatacağım. Hazırsanız animasyon dünyasına dalıyoruz! 😊

1. Basit Renk Değiştirme Animasyonu

Öncelikle, basit bir renk animasyonu ile başlayalım. Bu animasyon, bir kutunun renginin butona tıklanıldığında değişmesini sağlar. Bunun için Animatable sınıfını kullanacağız.

image

Açıklama:

  • Animatable: Belirli bir değeri animasyon ile değiştirmek için kullanılır.
  • LaunchedEffect: Bu, coroutine başlatmak için kullanılır; burada animasyonu sürekli döngüde çalıştırır.
  • animateTo: Hedef değere kadar animasyonu başlatır.

2. Boyut Değişimi (Scale Animation)

Şimdi boyut animasyonuna geçelim. Burada, kutunun boyutunu büyütüp küçülteceğiz.

image

Açıklama:

  • scale: Hedef boyutu belirler. Burada kutu tıklandığında büyüyüp tekrar küçülecek.

3. Konum Değiştirme (Movement Animation)

Bir nesneyi ekranda hareket ettirmek için yine Animatable sınıfını kullanabiliriz.

image

Açıklama:

  • offsetX: Bu, kutunun yatayda hareket etmesini sağlar. Animasyon sürekli sağa ve sola hareket edecektir.

4. Dönen Fan Animasyonu (Fan Rotation Animation)

Dönen bir fan animasyonu oluşturalım. Bu animasyon, bir fan görselini sürekli döndürecek ve kullanıcı tıklayarak fanın dönmesini başlatacak veya durduracak.

image

Açıklama:

  • isRotating: Kullanıcının fanın dönüp dönmediğini kontrol etmesine olanak sağlar.
  • infiniteRepeatable: Animasyonun sonsuz döngüde dönmesini sağlar, böylece fan sürekli olarak dönebilir.

5. Kalp Atışı Animasyonu (Heartbeat Animation)

Kalp atışı efektine benzeyen bir animasyon oluşturalım. Bu animasyon, bir kalbin belirli aralıklarla büyüyüp küçülmesini sağlar.

image

Açıklama:

  • isBeating: Kullanıcı tıkladığında kalp atışı efektini başlatır veya durdurur.

6. Çapraz Geçişler (Crossfade Animation)

İki öğe arasında geçiş yaparken pürüzsüz bir efekt için Crossfade bileşenini kullanabiliriz.

image

Açıklama:

  • Crossfade: İki öğe arasında yumuşak bir geçiş sağlar.
  • targetState: Geçiş yapılacak öğeyi belirler.

Tüm animasyonların yer aldığı repoya da bir göz atabilirsiniz.

Keyifli kodlamalar! 😊

Go back