"Enter"a basıp içeriğe geçin

Xamarin Forms Lazy Loading(Infinite Scroll)

Uygulama yaparken görüntünün daha iyi gözükmesi için veya kullanıcıya yaptığı işlemlerinin gerçekleştiğini göstermek için bazı özelleştirmelere yapabiliriz, Bunlardan biride lazy loading (infinite scroll) adı verilen bir işlemdir. Lazy loading list view kullanırken kullanıcıdan belirli sayıda item gösterirken diger itemleri göstermek istediğimizde aşağı dogru telefonda işlem yaptığımızda kullanıcıya yükleniyor diyerekten belirli sayıda item’i tekrar karşısına getirme işlemidir.

Lazy loading’i kullanmak için basit bir uygulama yapacağım bu uygulama’da bazı futbolcular olacak ve bu futbolcuların resimleri isimleri ve hangi takımda oynadıklarını gösteren bir uygulama olacak bir class oluşturup bu class’ın içine degişkenlerimi tanıtıyorum daha sonra bu class’dan bir liste oluşturup verilerimi atıyorum daha sonra şöyle bir fonskiyon yazıyorum;

Bu fonksiyon sayesinde sayfada kaç tane kullanıcı olacağını alıp daha sonra kullanıların liste biçimde dönüş yapılmasını sağlıyorum. Uygulamamın pcl kısmına Xamarin.Forms.Extended.InfiniteScrolling nugetini ekliyorum, daha sonra ana sayfama bind edeceğim bir model atıyorum bu model benim ana sayfamın modeli olacak bu class’ı INotifyPropertyChanged interfacesinden kalıtım alarak oluşturuyorum. Classın içerisine şu kod dizimini yazıyorum;

Bu kodun içerisinde bool isbusy kullanarak kullanıcının hareketini kontrol ettirerek ekranda neler çıkacağına karar verdiriyorum, yukarıda gördüğünüz gibi sayfama 10 tane item olacağınıda belirtmişim ve veri servisimden bir tane obje oluşturup bunu yeni veri servisim olarak kullanıyorum tabi birde InfiniteScrollCollection<Player> Players kullanarak oyuncular nesnesi oluşturuyorum daha sonra bunun içerisinde bazı kontrolleri kullanarak işlemler yaptırıyorum ve bu işlemleri yaparken bazı fonksiyonlar yardımı ile yapıyorum DownloadDataAsync() fonksiyonu ile veri servisinden bu oyuncunun hangi sayfada kaçıncı item’i olacağını belirtip geri döndüren fonskiyon oluyor. En son olarak’da basit bir tasarım oluşturup ekrana oyuncuları bastırıyorum.

Bu tasarımıda yaptıktan sonra uygulamamız şöyle bir tasarım ve görünüm oluşuyor;

 

2 Yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir