şükela:  tümü | bugün
  • bir android development componenti. içerisine eklenen viewları bir süre sonra recycler ederek işlem yükünü azaltması ile göz doldurur. implemente etmesinin başlangıç seviyesi kullanıcısı için sıkıntılı oluşu, araştırma yaparken karşılaşılan trilyonlarca kaynakta herkesin kendi kodlama tarzıyla verdiği örnekler arasında boğuşmayla kodcunun tekrardan gözlerini doldurur bu deyyus.

    nestedscrollview içerisindeyken setnestedscrollenabled'ı false yapmak dışında herkesin ortak söylediği bir şey yok. scrollview daha favorim.
  • listview'in daha gelismis versiyonu.

    listview, api 1'den bu yana android sdk'ya dahil edilmis olan eski bir widget. android 5.0 lollipop'un yayimlanmasina kadar, cogunlukla her projede mutlaka kullanilirdi. ancak o kadar esnek de degildi. sadece dikey kaydırma yapan ogelerin bir listesini olusturmamizi sagladi. ayrica o kadar da hizli bir yapi degildi.

    gunumuzde ise gelistiriciler listview yerine recylerview kullaniyor. bahsettigim gibi, 5.0 ile tanitildi ve android dunyasi icin buyuk bir devrim yaratti. listview'da gelistiricileri illallah ettiren bircok sey recyclerview'da duzeltildi veya revize edildi. varsayilan olarak daha verimli hale getirildi, adapter class icindeki veri kumesi uzerinde daha fazla esnek calisma imkani sagladi.

    kritik farklar ve yapılan revizeler :

    (bkz: viewholder)
    viewholder pattern'i, ekrani kaydirmamizin sorunsuz calismani saglar. liste satir gorunumlerinin referanslarini saklar ve bu sayede, findviewbyid() metodunun cagrilmasi tum veri kumesi icin, yalnizca birkac kez gerceklesir.

    (bkz: layoutmanager)
    layoutmanager, satir gorunumlerinin duzenlenmesi icin kullanilir. ornegin, listeyi dikey veya yatay olarak kaydirilmasini istiyorsak linearlayoutmanager'i kullanabiliriz. izgara gorunumu icin de, gridlayoutmanager'i kullanilabilir.
    (onceden, listview kullanimiyla, sadece dikey bir kaydırma listesi olusturabilirdik, bu yuzden esnek degildi. eger listemizde izgara kullanmak isteseydik, bunun icin farkli bir widget'i secmek zorunda kalirdik. (bkz: gridview))

    (bkz: itemanimator)
    belki de en onemlisidir. satir gorunumu, liste gorunumu icin cesitli animasyonlar eklenebilir(ekleme, kaldirma vs). default olarak, recylerview'in liste animasyonlari listview'e gore gayet hos ve puruzsudur. tabii ki gelistirici kendi de animasyon ekleyebilir. bunun icin de itemanimator'i kullanarak bunu degistirebilir.
    (listview uzerinde animasyon kullanmak bayagi bir angaryaydi.)