UI/UX

Android Image Slider

Birçok uygulamada resimleri kullanıcının kolay ve hızlı bir şekilde görebilmesi için image slider animasyonları kullanmaktadır. Image slider mantığı, belirli bir alanda birden fazla resmin kendi aralarında ara yüzde geçiş yaparak gösterilmesidir. Bu örneği hazırlamak için ViewPager ve Universal Image Loader kütüphanelerini kullandım.

Image Loader kütüphanlerini neden kullanmalıyız?
Eğer bir ImageView içerisindeki resim İnternet üzerindeki bir kaynaktan yüklenecekse bu resmin asenkron bir bağlantı açılarak ana akışı bozmadan yüklenmesi tavsiye edilir. Bu yüzden resimlerin AsyncTask gibi yapılarla asenkron yüklenmesinin yanı sıra yerel bir hafızada tutulması (cache) de gerekir. ImageLoader, cihaz hafızasında ya da SD kart üzerinde resimleri saklayarak tekrar yüklemelerin de önüne geçer. İşte bu konuda Image Loader kütüphaneleri bize yardımcı olur.

Image Loader kütüphaneleri arasında en çok Universal Image Loader kütüphanesini kullanımını tavsiye etmekteyim. Çünkü Universal Image Loader kütüphanisi birincil olarak, resimlerin asekron yüklenmesini sağlar. Böylelikle kütüphane haricinde AsyncTask gibi yapılar kullanmak zorunda kalmayız.Diğer bir yandan kullanılan resimlerde Cache işlemini en iyi kullanan kütüphanedir.

İlk öncelikle Universal Image Loader kütüphanemizi indirelim.İndirdiğimiz jar dosyamızı Android Studio’da Projeye Jar Kütüphanesini Dahil Etme makalemde anlatığım şekilde Android projemize dahil ettim.

Java kodlarımız:

MainActivity.java

ScreenSlidePagerAdapter.java kodları:

ScreenSlidePageFragment.java kodları:

CirclePageIndicator.java kodları:

Arayüz kodları:

activity_main.xml kodları

fragment_screen_slide_page.xml kodları

ve AndroidManifest.xml dosyasında internet izinini verdik.

Son olarak ufak bir not: Bu yukarıda anlattığım projemin kodlarını indirmek isterseniz; yapmanız gereken tek şey github linkine tıklamak.

Hayatınızın daha da kolaylaşması dileğiyle…

Bülten
Bültene abone ol

Bültene abone olarak yeni makalelerimden haberdar olun.

6 Yorumlar

Bir cevap yazın

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