Tasarım Kodlama

Android ToggleButton Kullanımı

Önceki derslerde Android Switch button kullanımını görmüştük. Bu yazıda Android’de ToggleButton, bir düğmenin işaretli ve işaretsiz durumunu görüntülemek için kullanacağız.

ToggleButton, temel olarak, geçiş düğmesinin mevcut durumunu gösteren bir ışık göstergeli bir açma/kapama düğmesidir. ToggleButton’un en basit örneği ses, Bluetooth, wifi, hotspot vb.’de açma/kapama yapmak için kullanılabilir. android.widget.CompoundButton sınıfının alt sınıfıdır.

Android’de ToggleButton vs Switch:

ToggleButton, kullanıcıların telefonunuzun ayar menüsünden wifi, Bluetooth vb. açma/kapama gibi iki durum arasındaki ayarı değiştirmesine izin verir. Android 4.0 sürümünden (API seviyesi 14) bu yana kullanıcı kaydırıcı kontrolünü sağlayan Switch adında başka bir ToggleButton türünü de kullanmaktadır.

Android'de Switch Button

Açıklamayı bitirdikten sonra ToggleButton örneğini nasıl yapacağımıza bakalım.

Adım 1: Yeni Proje Oluştur

  • Android Studio’nuzu açın “Create New Android Project”e tıklayın (Android Studio‘yu nasıl kuracağınızı ve ilk Android projenizi nasıl oluşturacağınızı öğrenin)
  • Proje şablonu penceresinden “Empty Activity“i seçin ve İleri’ye tıklayın.
  • Uygulama Adını, Paket adını, kaydetme konumunu, dili (Java/Kotlin, bu eğitim için Java kullanacağız).
  • Yukarıdaki bilgileri doldurduktan sonra Finish düğmesine tıklayın.
  • Şimdi, projenin inşasını bitirmesini bekleyin.

Adım 2: Android Activity’ye Switch Ekleme

Şimdi app -> res -> layout ->activity_main.xml‘e gidin ve ToggleButton ekleyin, şimdi activity_main.xml dosyamız aşağıda gösterildiği gibi görünecektir:

Yukarıdaki kodda Activity’ye varsayılan ToggleButton komponentini ekledik.

Örneklerle ToggleButton Özellikleri

Switch özelliklerine benzer özellikleri olduğu için bu yazıda çok fazla detaya girmeden özellikleri başlıca sıralıyorum.

id özelliği

Belirli bir ToggleButton tanımlamak için nesneye verilebilecek benzersiz bir kimliği ifade etmektedir.

checked özelliği

Bu özellik, ToggleButton’un mevcut durumunu ayarlamak için kullanılır. Değer true veya false olabilir ve kontrol edilen özniteliğin varsayılan değeri false‘dır. check="true" olarak ayarladığımızda, ToggleButton varsayılan olarak onaylı, false olarak ayarlandığında ise varsayılan olarak onaysız gelir.

Java kodu ile toggle button durumunu değiştirmek için setChecked(Boolean b) metodunu kullanabilirsiniz. Buradaki “b” true yada false olabilir.

textOn ve textOff Özelliği

Switch‘deki bir çok özellik gibi textOn ve textOff özelliği de ToggleButton ile kullanılmaktadır.

TextOn özelliği, ToggleButton işaretli durumdayken (anlamına gelir) göstermek istediğimiz metni ayarlamak için kullanılır ve textOff özelliği, ToggleButton işaretlenmemiş durumda (anlamına gelir) göstermek istediğimiz metni ayarlamak için kullanılır. Aşağıda gösterildiği gibi textOff ve textOn metnini göstermek için showText = “true” olarak ayarladık.

textOn  ToggleButton
TextOff ToggleButton

gravity özelliği

Gravity özelliği left, right, center, top, bottom, center_vertical, center_horizontal vb. gibi ToogleButton’daki metnin hizalamasını kontrol etmek için kullanılan isteğe bağlı bir niteliktir.

Aşağıdaki örnektegenişlik değerini match_parent ve grafitiy değerini right | center_veritcal yaptık.

gravity ToggleButton

textColor özelliği

ToggleButton metin rengini ayarlamak için kullanılır. Renk değeri “#argb”, “#rgb”, “#rrggbb” veya “#aarrggbb” biçiminden herhangi biri olabilir.

textSize özelliği

Bu öznitelik, ToggleButton metninin boyutunu ayarlamak için kullanılır. XML’de boyutu dp, in, mm, pt, px, sp olarak ayarlayabiliriz. Aşağıdaki örnekte metin boyutunu 32dp olarak ayarlıyoruz:

background özelliği

Anahtarın arka planını ayarlamak için kullanılır. Bir color yada drawable (image)  veya herhangi bir özel xml dosyası olabilir. Bu eğitim için basit bir kırmızı renkli arka plan ekleyeceğiz:

padding özelliği

İş boşluğu ToggleButton’a ayarlamak için kullanılır. padding özniteliğini kullanarak üst, alt, sol, sağ padding’i aynı anda ayarlayabilir veya paddingLeft, paddingRight, paddingTop ve paddingBottom niteliklerini kullanarak üst, alt, sol, sağ için farklı dolgu ekleyebiliriz.

margin özelliği

ToggleButton nesnesinin dışından boşluk bırakmak için margin özelliğini kullanabilirsiniz. Ayrıca her kenera ayrı boşluk vermek içinde marginLeft, marginBottom vb. şekilde tanımlanmalar yapılabilir.

drawableBottom, drawableTop, drawableRight ve drawableLeft özelliği

Bu öznitelik ToggleButton metninin alt, üst, sağ ve solundaki çizilebilirleri çizer.
Aşağıda, simgeyi bir ToggleButton metninin en üstüne ayarlıyoruz. Benzer şekilde, diğer üç özelliği kendiniz deneyebilirsiniz.


ToggleButton Özel Zemin ve Yazı Rengi Belirleme

Yukarıdaki textColor ve background özelliklerinde tek boyutlu renk belirleme yaparken aşağıdaki kullanımda toggle buttonun farklı durumları için bir XML dosyası ile tanımlama yapılabilir.

Aşağıdaki 2 ayrı örnekte de renk XML kaynağı oluşturmamız gerekiyor. Görsellerdeki adımları izleyerek renk klasörünü oluşturup xml dosyasını aşağıdaki gibi oluşturuyoruz.

Örnek 1:


res/drawable/toggle_state_on.xml

res/drawable/toggle_state_off.xml

res/drawable/toggle_selector.xml

Uygulama:

Çıktı:


Örnek 2: Bu örnekte buton durumlarını tanımlayan XML dosyası oluşturup bu özellikler belirleniyor.

toggle_arkaplan_renk.xml

toggle_yazi_renk.xml


Uygulama:

Bu yazıda ToggleButton componentinin bir çok özelliğine örneklerle baktık. Sitemizdeki diğer Android örnekleri ve yazıları için Android kategorisine bakabilirsiniz.

Android ToggleButton ile Listener Kullanımı

Şimdi, kullanıcının Toggle‘a tıklamasını ve bazı eylemleri gerçekleştirmesini sağlamak için kullanılabilecek olay veya tıklama dinleyicisi işlevlerini ele alalım.

setOnClickListener(OnClickListener l) kullanarak dinleme

ToggleButton’un tıklanıp tıklanmadığını kontrol etmek ve tıklamaya göre karar vermek istediğimizde bu dinleyiciyi kullanabiliriz. public void onClick(View view) fonksiyonunun içinde, boolean isChecked() fonksiyonunu kullanarak onaylanıp onaylanmadığını kontrol edeceğiz ve aşağıda gösterildiği gibi anahtarın durumuna göre kullanıcıya toast göstereceğiz:

setOnCheckedChangeListener(OnCheckedChangeListener l) kullanarak dinleme

Bu dinleyici, switch(anahtar) durumu değiştirildiğinde çağrılır, bu, anahtarı kapalı durumundan açık durumuna veya tam tersine değiştirdiğimiz anlamına gelir. onClickListener’dan temel farkı, bunun yalnızca durum değiştiğinde çağrılmasıdır. F

onCheckedChangeListener içinde bir onCheckedChanged(CompoundButton compoundButton, boolean b) anahtarın durumunu kontrol etmek ve boolean değerine göre işlevleri gerçekleştirmek için bir boolean değeri kullanabiliriz:

Bu yazıda ihtiyaç duyabileceğiniz iki dinleyiciyi gösterdim. Diğer dinleyiciler için Android resmi kaynağını inceleyebilirsiniz.

Daha fazla Android içeriği için Android Dersleri yazısını inceleyebilirsiniz.

1 yorum