Android Studio RecyclerView ile Swipe Kullanımı

Android Studio RecyclerView ile Swipe Kullanımı

Gün içinde neredeyse hepimiz Gmail gelen kutumuzu kontrol ederiz ve istemediğimiz postaları sağ veya sola sürükleyerek istediğimiz postayı arşivleyebiliyoruz  ayrıca sağ altta bulunan FloatingAction butona tıkladığımızda da istediğimiz kişilere kolay bir yoldan e-posta atabiliyoruz. Bu makalede de bu işlemleri nasıl yapabileceğimize bakacağız.

Anlatıma geçmeden önce bir kaç tane eklenmesi gerekenler var öncelikle build.gradle dosyamıza RecyclerView kullanabilmemiz için aşağıdaki satırı ekliyoruz.

Sizde sürüm numarası hata verebilir kendi sürümünüze göre değiştirebilirsiniz. Daha sonra buraya tıklayarak indirdiğiniz üç resmi drawable klasörünün altına ekleyin. Gerekli eklemeleri yaptık artık anlatıma geçebiliriz.

Öncelikle yeni proje oluşturuyoruz ve aşağıdaki kodlara göre düzenliyoruz.

activity_main.xml

RecyclerView’deki Item’ları swipe işlemini yapmak için ItemTouchHelper.SimpleCallback sınıfını kullanıyoruz.Bu sınıfta otomatik olarak iki tane override methodu kullanmamız gerekiyor.

onSwiped() :Kaydırma işleminden sonra ne olacağınız belirliyoruz.

onChildDraw() : Kaydırma işlemi gerçekleşirken arka plan rengini ne olacağını ve hangi iconu alacağını belirliyoruz.

MainActivity.java

RecyclerView’de ülkeleri görüntülemek için bir tane layout oluşturuyoruz. Bir tane Textview sürükleyip bırakıyoruz.

row_layout.xml

AlertDialog açıldığı zaman yazı yazmak için kullanacağımız EditText için layout oluşturuyoruz. Bir tane EditText sürükleyip bırakıyoruz.

dialog_layout.xml

Son olarak RecyclerView kullanabilmek için DataAdapter oluşturuyoruz.

DataAdapter.java

Böylelikle RecyclerView ile birlikte Swipe nasıl kullanacağımızı anlatmaya çalıştım.Projenin kaynak kodlarını indirip kodlarda değişiklik yaparak denemeler yapın daha iyi konuyu anlamanıza yardımcı olacaktır.

Projenin kaynak kodlarını buraya tıklayarak indirebilirsiniz.

Kaynakça : Kaynak1Kaynak2Kaynak3Kaynak4

 

Bir cevap yazın

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