8 - FrameLayout
FrameLayout'un, Fragment'lar ile doğrudan bir ilişkisi,
ilgisi alakası yoktur. Önce kafandan bu misconception'ı çıkar. FrameLayout
sayesinde, birden fazla view'i, yani UI element'i üst üste çakışacak şekilde
koyabilirsin. Sonra bunlardan hangisinin görüneceğini yani hangisinin en üstte
olacağını kodda dinamik olarak değiştirebilirsin.
FrameLayout'a
eklediğimiz view'leri bir stack'a koyuluyormuş gibi düşün. FrameLayout'a en son
eklediğimiz view, stack'ın en üstündedir ve görünür olan view'dir. Bir
FrameLayout'un size'ı, içerdiği en büyük size'daki child view'in(child view
visible olsun veya olmasın fark etmez) size'ı kadardır.
Linear Layout ve RelativeLayout kullanarak view'leri
birbirlerinin yanına koyarız. Ancak ekrandaki pozisyonları birbiriyle çakışan
view'ler göstermek için FrameLayout kullanırız. Örneğin, bir imageview
element'inin üzerinde bir text view göstermek istiyorsak yani bu 2 view
birbirleriyle kesişiyor olmasına rağmen ikisini de aşağıdaki göstermek
istiyorsak FrameLayout kullanırız.
Ayrıca frameLayout view fragment içerecekse frameLayout
view'e fragment'a erişir gibi (örneğin getFragmentById() method'unu çağırarak)
erişebilirsin. Fragment konusu altında buna örnek vardır.
In
FrameLayout, all the child views added are placed like stack. The most recent
added are shown on top. This means that, developers must pay attention to the
order of widgets, while adding them to layout.
Hiç yorum yok:
Yorum Gönder