07.03. LayoutAnimation API

LayoutAnimation API, özellikle layout işlemleri için geliştirilmiş bir API’dir. View üzerinde uygulanan bu API, Animated API’ye benzer şekilde çalışır. Ancak, her animasyon için bir state özelliğine gerek vardır. Özellikle karmaşık view’lerde çok hızlı bir animasyon çözümü sunar.

Üç farklı Button üzerinden Layout düzenini değiştiren ve oluşan daire sayısını değiştiren bir kod yazalım.

CustomLayoutAnimation animasyon için ayarları içerir. state içindeki index animasyon değişiklikleri için kullanılacaktır. LayoutAnimation bir veya daha fazla state değişkeni üzerinden yönetilir. onPress fonksiyonu state değerini günceller. renderButton, TouchableOpacity bileşeni üzerinden Button üretir. renderCircle bir daire yapmak için kullanılır. Bu bileşen üzerinden birden fazla bileşen üretilebilir. render fonksyionu içinde state içindeki index değerine göre style ve bileşen sayısı gibi ayarlara göre render işlemi yapılmaktadır.

LayoutAnimation kullanırken platforma özgü değişiklikler yapmak gerekebilir. Örneğin Android ortamında aşağıdaki kod için “UIManager” üzerinden Android’e özel ayarlar yapmak gerekir.

Bu örnekte aşağıdaki button’a tıklandığında flex direction değeri değişir.