Android-Kotlin Fragment

Recep Yeşilkaya
2 min readSep 19, 2020

--

Fragment bir Android Jetpack öğesidir. Jetpack bizlerin android ’i daha verimli kullanmak için geliştirilmiş araçlar bütünüdür. Fragment’lar aslında kullanıcı arayüzleridir. Activity’ler ile beraber ve activityler den daha verimli çalışmak için kullandığımız bir yapıdır. Tek bir activity içerisinde bir den fazla fragment kullanabiliriz, bundan dolayı activity kapatılmadan farklı ekran tasarımlarına geçiş yapabiliriz. Fragment’lar içerisinde activity de yaptığımız her şeyi yapabiliriz.

Activitylerin yaşam döngüleri olduğu gibi Fragmentların da kendilerine özgü bir yaşam döngüleri vardır. Fragment yaşam döngüleri hakkında bilginiz yoksa aşağıdaki bloğu inceleyebilirsiniz.

Bir activity içerisinde birden fazla fragment tanımlanabilir. Yapacağımız örnek uygulamada bir activity içerisinde 2 adet farklı fragment kullanacağız.

Örnek bir proje açtıktan sonra belirtilen şekilde fragment galerisini açıyoruz.

Bu pencere içerisinden çeşitli tasarımlara sahip fragment seçiminde bulunabilirsiniz. Biz Blank Fragment ile devam edeceğiz. Blank Fragment boş bir fragment oluşturacaktır.

Bu adımdan sonra fragment’a dilediğiniz isimlendirmeyi yapıp işlemi tamamlayabilirsiniz. Uygulamamızda 2 adet fragment olacağı için bu adımları 1 kere daha tekrarlayınız.

BlankFragment.kt içerisinde aşağıdaki görünümü elde edebilirsiniz. Diğer kod blokları ile işlemimiz olmayacaktır. OnCreateView içerisinde hangi layout ile çalışacağımızı belirtiyoruz. Bu görünümü BlankFragment ve BlankFragment2 için elde ediniz.

Layout kısmında iki farklı tasarımda Fragment 1 ve Fragment 2textine sahip ayrı textview’ lar ekleniyiz. Böylelikle fragment’lar arası geçişi gözlemleye bilelim.

Activity içerisinde, Dinamik veya statik olarak fragment tanımlaması yapılabilir.

Statik olarak fragment eklemek istersek activity_main.xml içerisinde fragment companentini ekleyip,gösterilmesini istediğimiz fragment’ı seçebiliriz.

Dinamik olarak fragment eklemek istersekMainActivity.kt içerisinden işlemleri gerçekleştiririz. Bu tanımlama için activity_main.xmliçerisinde FrameLayout tanımlanır. Fragmentlerın görüntülenmesi FrameLayout üzerinden gerçekleştirilir.

Dinamik bir şekilde fragment oluşturmak performans açısından daha verimlidir. Çünkü uygulama açıldığında biz hangi fragment’ın gösterilmesini veya gösterilmemesini çeşitli sorgular ile sağlıyabiliriz. Fakat statik olarak tanımladığımız fragmentlar xml de tanımladığımız için otomatik olarak çizdirilecektir. Şu şekilde bir önlem alabiliriz,belirli bir sorgu sonucuvisibilty=gone yaparak fragmentın görüntülenmesini engelleyebiliriz fakat memory de yer kaplayacağı için performans olarak kötü bir kullanım olacaktır.

Biz örneğimiz için 2 kullanımıda konu edindik. activity_main.xml kodlarına ulaşabilirsiniz.

Butonlara basıldığında hangi fragment’ın görüntüleneceğini belirtiyoruz.

Kotlin Fragment ları anlattığım yazımın sonuna geldik. Umarım faydalı olmuştur. Bir sonraki yazımda görüşmek dileğiyle. Keyifli Günler , Keyifli Kodlamalar.

--

--

Recep Yeşilkaya
Recep Yeşilkaya

No responses yet