AnimasyonCompose

Compose ile Animasyon Oluşturma Part 1

Kullanıcıların dikkatini çeken, kullanıcıyı yönlendiren ve projeye işlevsellik katan animasyonların tasarımda kullanılması proje talebinin artmasında fayda sağlar.

Bu makale Jetpack Compose tasarım yapısında Animatable ve Animate*AsState Api’lerini kullanarak farklı animasyonları oluşturmayı örnekleyecektir.

Örnekleyeceğim Animasyon API konuları:

  1. Animatable
  2. Animate*AsState
    • AnimateDpAsState
    • AnimateFloatAsState
1- Animatable

Animatable fonksiyonunu, diğer tüm animasyon api’lerinden ayıran en önemli özelliği, compose fonksiyonlarının dışında bir alanda kullanabiliyor olmanızdır. Color ve Float tipi değerleri alan coroutine-based API’dir.

Örneğimizde Animatable fonksiyonuna gri rengi atadığımdan, uygulama ilk açıldığında gri renginden kırmızıya geçiş olacaktır. Sonrasından butona her tıkladığında animasyon çalışacak ve belirli zaman aralığıyla yeşil/kırmızı renge geçiş olacak.

 

2- Animate*AsState

Tek tipte bir değere animasyon özelliği katmak için kullanılır. Bu değerler Dp, Color, Float, Integer, Offset, Rect…

a) AnimateDpAsState

AnimateDpAsState, state objesi döndürür. Bu objenin değeri animasyon bitene kadar sürekli güncellenir. Bu özellik çalışırken animasyonu durduramayız/iptal edemeyiz.

Örnek de kırmızı kutuya tıkladığımızda boyutunun büyümesini, tekrar tıkladığımızda kutunun küçüldüğünü göreceksiniz.

Kodlarımız:

b) AnimateFloatAsState

AnimateDpAsState ile benzer yapıya sahiptir. AnimateFloatAsState API, sadece hedef değer olarak float tipinde değer alır. Örneğimizde butona tıkanıldığında resim açısını animateFloatAsState() kullanarak 0’dan 360’a kadar döndürüyoruz.

 

 

Bülten
Bültene abone ol

Bültene abone olarak yeni makalelerimden haberdar olun.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir