şükela:  tümü | bugün
1 entry daha
  • 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.)