Anasayfa / Android Dersleri / Android Dersleri 8 : SeekBar Kullanımı

Android Dersleri 8 : SeekBar Kullanımı

Merhaba arkadaşlar. Bu derste SeekBar kullanımını anlatacağım. SeekBar, sağa sola doğru sürüklenebilen çubuğa verilen isimdir. Sürüklendikçe ses açma, renk değiştirme gibi işlemler için kullanılırlar.

Bir uygulama üzerinde anlatalım. 3 adet SeekBar ekleyelim. Bunları oynattıkça ekranımızın arkaplanının rengi değişsin. 3 SeekBar da farklı renklerin değişimini sağlasın.

Bir proje açalım ve sayfamıza, soldaki panelden 3 adet SeekBar ve 3 adet TextView ekleyelim. Değerlerini aşağıdaki gibi değiştirelim.

seekbar

Daha sonra sayfamızın kod kısmına geçelim. Bu SeekBar araçları ile çalışabilmek için bundan 3 adet nesne oluşturmamız gerekiyor. Arkaplan ile işlem yapabilmek için de Layout sınıfından bir nesne oluşturacağız. Bu nesne oluşturma işlemlerini aşağıdaki gibi yapalım.

seekbar

Nesne oluşturma işlemlerini yaptık. Bu arada Layout için bir id‘ye sahip değilseniz, aşağıdaki gibi xml kısmında Layout’unuza bir id verin.

seekbar

Bir de şunu söyleyelim. Nesne oluşturma işlemlerini yukarıda değil de aynı satırda yapsaydık o zaman final olarak tanımlamak zorunda kalacaktık. Çünkü bu nesneleri başka metodlardan kullanabilmek için, referans atamalarını bir metod içinde değil sınıf içinde yapmak zorundayız. 

Nesne tanımladıktan sonra şimdi Listener tanımlayalım. Her nesne için bir Listener tanımlayacağız. Bunun için SeekBar için kullanılan aşağıdaki Listener’ı kullanacağız.

Bu listener, içerisinde 3 metodla birlikte gelir. Bunlar başlatma, durdurma ve hareket ettirme. Biz olaylarımızı, hareket ettirme metodu içerisine yazacağız. Şimdi aşağıdaki gibi her nesne için bir listener tanımlayalım ve kodlarımızı, hareket ettirme metodu içine yazalım. Aşağıdaki kodları da, onCreate() metodunun içerisine ve nesne oluşturmanın devamına yazıyoruz.

seekbar

Buradaki kodlar için şunu söyleyelim. Her SeekBar nesnesi için 3 adet Listener oluşturduk. Her listener, içerisinde 3 tane metod bulunduruyor. Fakat bize sadece hareket ettirme metodu lazım olduğu için diğerlerinin içini boş bıraktık. Hareket ettirme metodu olan onProgressChanged() metodunun içinde de şunları yaptık. setMax() metodu ile SeekBar’ın alacağı en fazla değeri belirledik. Bunu 255 yaptık çünkü RGB (red,green,blue) renkleri, 255’e kadar değer alabilir. Daha sonra onProgressChanged() metodunda hazır gelen progress parametresini, android.graphics.Color.rgb() metoduna parametre olarak verdik. Eğer kırmızı renk vermesini istiyorsak ilk parametreye verdik, diğerlerini de sıfır yaptık. Bu şekilde 3 SeekBar için de renkleri verdik ve dönen değerleri, arkaplanın değeri olarak atadık.

Seekbar Ekran Görüntüleri

seekbar seekbar seekbar

Uygulamamızı bu şekilde tamamladık. SeekBar, hareket ettirildikçe farklı amaçlar için de kullanılabilir. Mesela ekrandaki bir resmin konumunu ya da bir sayının değerini bu şekilde çubuklarla oynayarak değiştirebilirsiniz.

Mehmet Kirazlı

İstanbul Eyüp'te ikamet ediyorum. Giresun Alucra'lıyım. Bilgisayar Mühendisliği bölümünden 2013 yılında mezun oldum. "Yeni Başlayanlar için Java 8" kitabının yazarıyım. Şu anda özel bir firmada Mobil Yazılım Geliştirme Uzmanı olarak çalışıyorum.

İlginizi Çekebilir

Android Dersleri 29 : Telefon Rehberi Uygulaması Yapıyoruz

Merhaba. Yine uzunca bir aradan sonra yazmaya devam ediyorum. Bu yazımda,  veritabanında değinmediğim Where ifadesine yer …

7 Yorumlar

  1. Mehmet hocam merhaba ben bunu denedim ama setOnSeekBarChangeListener hata alıyor. bu yüzden tüm overridelarda nasıl düzelteceğimi anlamadım mehmet hocam.

    • Paketi import etmemiş olabilirsiniz. Ctrl+shift+o tuşlarına basın eclipse deki sayfaniz açıkken. Olmazsa hatanın, çıkan uyarı yazısıyla beraber görüntüsü alıp bana gönderin

  2. Hallettim hocam 1 paketi import etmemiş ordan çıkmış sorun teşekkür ederim tekrar.

  3. selam hocam bunun gıbı uygulamaya ses acma kapama nasıl yaparız..

  4. Hocam aşağıdaki gibi bir ibare kullanmışsınız:

    ” Aşağıdaki kodları da, onClick() metodunun içerisine ve nesne oluşturmanın devamına yazıyoruz.”

    hangi nesnenin onClick metodu oluyor bu acaba?

Bir cevap yazın

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