ComposeUI/UX

Compose ile Pull to Refresh Oluşturma

Kullanıcı alışkanlıkları yaratan işlevselliği ve kullanım kolaylığı yüksek olan arayüz elementlerini yazılımda kullanmak proje değeri için çok önemlidir.

Bu makale Compose yapısında Card ile listelenen verilere “Pull to Refresh” özelliğini uygulayarak sayfanın yenilemesini sağlayan projeyi örnekleyecektir.

Örnek görüntü;

Pull to Refresh (Swipe to Refresh) Nedir?

Kullanıcı sayfayı aşağıya doğru çektiğiniz zaman sayfadaki içeriklerin yenilenmesini sağlayan UI kütüphanesidir. Pull to Refresh özelliğini Gmail, Facebook, Twitter, Instagram gibi birçok mobil uygulama kullanmaktadır.

Proje kodlarına github linkinden, kodlarla ilgili açıklamalara da makaleden ulaşabilirsiniz.

1-Compose Proje Oluşturma

Compose kullanabilmek için Android Studio Arctic Fox veya üst sürümlerden birini indirmeniz gerekir. Android Studio’da File > New yolunu takip edip New Project ekranında Empty Compose Activity arayüz taslağını seçmelisiniz. Next yapıp projenizi oluşturun.

2-Gerekli Kütüphanelerin Eklenmesi

Android Studio Ide ile oluşturduğum projemin app dizinin altındaki build.gradle dosyasını açıyoruz. Dependencies kod bloklarının arasına aşağıdaki kodları yerleştirerek Google Play services kütüphanesini yüklüyoruz.

3-Data Class ve İçeriklerle İlgili Fonksiyonları Oluşturma

Data adında data class oluşturdum. Listede bulunan başlık, kategori vb. bilgileri Data sınıfı ile bir array içinde tutarak verileri kolay yönetebilmeyi sağladım. RefreshDataViewModel  sınıfı içindeki refresh() metodunda swipe yapıldığında ne kadar sürede yenileceğini ve shuffleItems() listedeki item ların karıştırılmış halini döndür.

4- Card View Oluşturma ve SwipeRefresh Kullanımı

Compose yapısında Card View oluşturmak için Card() özelliğini kullanmamız gerekiyor. Detaylı açıklamalı örneğini oluşturduğum CardComponent fonksiyonunda inceleyebilirsiniz.

Pull to Refresh özelliğini ise SwipeRefresh() fonksiyonunu kullanarak sağlamaktayız. Çekip bırakma ile yenilemek istediğiniz sayfanın arayüz kodlarını SwipeRefresh() fonksiyonunun içine yerleştirmeniz gerekmektedir. Detaylı açıklamalı örneğini oluşturduğum RefreshData fonksiyonunda inceleyebilirsiniz.

 

Proje kodlarına github linkinden, kodlarla ilgili açıklamalara da makaleden ulaşabilirsiniz.

 

 

Bülten
Bültene abone ol

Bültene abone olarak yeni makalelerimden haberdar olun.

Bir cevap yazın

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