ConstraintSet ile Animasyon

Bu sınıf (ConstraintSet), programatik olarak ConstraintLayout ile kullanılacak bir dizi constraints tanımlamanıza izin verir. Bu animasyonu gerçekleştireceğiniz iki farklı tasarım arasındaki constraint'leri belirleyebileceğiniz ve yönetebileceğiniz anlamına gelir. Biraz daha açalım.

Birinci ve default tasarımınızın aşağıdaki gibi olduğunu düşünelim.

Sayfamızın ilk hali

İkinci ve animasyon sonrası gösterilecek tasarımın da aşağıdaki gibi olacağını düşünelim.

Sayfamızın son hali

Bu iki farklı görseli gerçekleştirmek için ConstraintLayout içerisinde yaptığınız her bir view'e ait Constraint'leri tutan yapıları ConstraintSet olarak isimlendiriyoruz.

ConstraintSet'ler ile yapacağımız animasyon da aslında tanımladığımız iki farklı layout'un bir birine yeni Constraint'lerle TransitionManager aracılığı ile dönüşmesinden oluşuyor.

ConstraintsSet, çeşit şekillerde oluşturulabiliyor. Aşağıdaki örnekte bir R.layout.* nesnesinden nasıl oluşturulacağına göz atacağız.

Varsayılan ile tasarımımız activity_main.xml'de şu şekilde;

Animasyon sonrasındaki son layout'umuz olan animation_end.xml ise şu şekilde;

MainActivity.kt içerisindeki kodlarımız da şu şekilde;

Küçük bir hatırlatma; örneğimizdeki "container" isimi ile kullandığımız isimlendirme, aslında bizim ConstraintLayout için kullandığımız id parametresi.

Örneğin Çalışır Hali

Örneğin kodlarına Github üzerinden erişebilirsiniz.

Last updated

Was this helpful?