#22 – Seek Bar ve Kullanımı


merhaba, bu yazımda Seekbar ın ne olduğunu nerelerde kullanabileceğimizi nasıl kullanacağımızı anlatmaya çalışacağım.

Seekbar Nedir?

Seekbar aslında bir işlem çubuğunun(progress bar) biraz genişletilmiş halidir. Bir işlem çubuğuna kaydırılabilir ya da sürüklenebilir bir nesne eklersek bir Seek bar elde etmiş oluruz. Kullanıcı seek bar ın işlem seviyesini ve durumunu dokunma ile değiştirebilir. Bunların bir max değeri olur, bu değeri geliştirici layout dosyasından belirleyebilir. Bu değerin değişimine göre geliştirici uygulamasında yapmak istediği şeyleri yapar veya yaptırır.

Peki kullanıcı tarafından Seekbar ın işlem seviyesinini(level) değiştirildiğini nasıl anlayacağız? Burda imdadımıza OnSeekBarChangeListener arayüzü yetişiyor. Bu arayüz progress level(işlem seviyesi) değiştirildiğinde kod için bazı metodları çağırıcak, biz de bu metodlar içinde çalıştırmak istediğimiz kodlarımızı çalıştırıcağız. Seekbar sınıfı ile ilgili daha ayrıntılı bilgiye şu linkten ulaşabilirsiniz.

OnSeekBarChangeListener

OnSeekBarChangeListener arayüzünün bu derste kullanacağımız 3 metodunun aşağıda özetle ne işe yaradıklarını verdim.  

Public Methods
abstract void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)

Bu metod seek bar ın seviyesi değiştirildiğinde çağrılır.
abstract void onStartTrackingTouch(SeekBar seekBar)

Bu metod kullanıcı seek bar ın seviyesini değiştirmeye başladığı anda çağrılır.
abstract void onStopTrackingTouch(SeekBar seekBar)

Bu metod kullanıcı seek bar ı değiştirmeyi bıraktığı anda çağrılır.

OnSeekBarChangeListener arayüzü hakkında daha detaylı bilgiye buradan ulaşabilirsiniz. Bu gerekli açıklamalardan sonra artık uygulama örneğimize geçebiliriz.

Uygulama Örneği

Uygulama örneğimizde 3 tane seek bar kullanarak arkaplan rengini değiştirmeye çalışıcaz. Seek barların her biri red, green ve blue renk kodlarından birini temsil edecek. Yani arkaplan rengini değiştirmek için RGB kodu kullanacaz.

Arayüz

Uygulamamızın arayüzünde 3 tane seek bar olsun. Ve seek barların maksimum alabileceği değer 255 olsun. Çünkü red,green ve blue renk kodları 0 ila 255 arasında değişir. Aşağıdaki kodları alıp activity_main dosyanıza yapıştırın.

activity_main.xml  dosyamız : 

 Activity (Java Kodumuz)

Burada arayüze eklediğimiz seek barları tanımlayacaz. Seek barlara listener ekleyecez ve seek barlardan herhangi biri değiştirildiğinde arkaplaniGuncelle() adlı metodumuzu çağıracağız. Bu metodla seekbarların değerlerini alıp arkaplan rengini değiştiricez.

MainActivity.java dosyamız:  

Uygulama örneğimizin çalışması için herhangi bir izne gerek olmadığıdan AndroidManifest.xml dosyasına herhangi bir izin eklemenize gerek yoktur.

AndroidManifest.xml dosyamız:

 Uygulama Örneğinin Testi:

Sonsöz

Yazıyı beğendiyseniz soldaki sosyal paylaşım butonlarını kullanarak paylaşıp bize destek olabilirsiniz. Yazının başında yazımıza puan vermeyi unutmayın. Bize geri dönüş yapmanız çok önemli. Sitemizin ve yazılarımızın gelişimi sizin geri dönüşlerinize göre şekillenecektir.

Mustafa Demir

Elektronik, linux, android, ios, matlab, latex, python, C, ve C++ meraklısıyım. Profesyonel Android Uygulama Geliştiricisi olma yolunda ilerliyorum. Ubuntu 15.04 kullanıcısıyım. Merakımın peşinden koşmayı severim.

Şunlar da ilginizi çekebilir

3 yorum

  • rasim
    22 Aralık 2014 at 21:46

    mScreen = (LinearLayout) findViewById(R.id.myScreen);
    red_Bar = (SeekBar) findViewById(R.id.bar_red);
    green_Bar = (SeekBar) findViewById(R.id.bar_green);
    blue_Bar = (SeekBar) findViewById(R.id.bar_blue);

    çarpı işareti çıktı

    • MUSTAFA DEMİR
      8 Ocak 2015 at 19:38

      lütfen hatalı kısmın üzerine mouse ile gelip F2 ye basarak problemin detaylarını öğrenip buraya yorum olarak yazınız.

rasim için bir cevap yazın Cevabı iptal et