Mastering in Fragments


Ne kadar çok fragment kullandığınız ya da kaç yıldır Android developer olarak çalıştığınızdan bağımsız olarak, her Fragment kullandığınızda Fragmentle ilgili şaşırtıcı şeyler öğrenebilirsiniz. En azından benim için öyle 🙂 Bazılarınız yazıyı tamamladığınız yaa bunları bilmiyor muydun diyeceksiniz, bazıları ben de çektim evet diyecek ama benim amacım bir gün bunu yaşarsanız yol gösterici olması.

Bugünün konusu ise setUserVisibilityHint methodu. Aslında bakıldığında çok faydalı görünüyor. Fragment’in bize ne zaman visible olduğu/olmadığı bilgisini veriyor. Buna göre sayfanın çizilmesinde aksiyon alabiliriz, bir task başlatıp örneğin data çekeceksek burada yapabiliriz. Böylece optimizasyon sağlayabiliriz. Ama tutorial’da da belirtmiş ki lifecycle’a bağlı olarak Fragment yaratıldıktan sonra çağrılmayabilir. Fragment göründüğü an çağrılacak ancak, önce setUserVisibilityHint methodu sonra onCreate çağrılabilir. Okumaya devam et

ViewPager’da Fragment Kullanımı


Not: Bu yazı ViewPager içerisinde fragment kullanımı ve TabLayout’la ilişkilendirmek üzerinedir.

*You can reach same content from here in English.

ViewPager kullanırken üst kısımda verilen başlık bilgisiyle alt kısımda yer alan content’i ilişkilendirmek için farklı yöntemler kullanılabilir. Actionbar, TabLayout, PagerTabStrip, PagerTitleStrip kullanımı seçenekler arasında yer alacaktır.

PagerTabStrip ve PagerTitleStrip için Android 23.0.0’da raporlanan bir bug bulunmaktadır. İlk açılışda title bilgisini göstermemektedir. Ama yine de kullanmak isterseniz, linkdeki anlatımı çok yeterli ve anlaşılır buldum. Bu kaynaktan faydalanabilirsiniz.

Kullanacağınız Activity’nin layoutuna aşağıdaki gibi TabLayout ve ViewPager’ı ekleyebilirsiniz.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"></ViewPager>
</LinearLayout>

Okumaya devam et