Tasarım Kodlama

Android Switch Button Kullanımı

Çeşitli Android uygulamalarında, Facebook ayarlarında YouTube (bir sonraki videoyu otomatik oynatmaya geç), Truecaller (koyu temayı etkinleştir, aramaları engelle, çağrı kaydetme anahtarı vb.) gibi farklı anahtar türleri gördük, Facebook ayarlarında, Gmail, WhatsApp (güvenlik için parmak izi kilidini etkinleştirmek için) ve diğer birçok uygulamada bu buttonlar karşımıza çıkmaktadır.

Android Switch Button Kullanımı

Switch(Anahtar) nedir?

Android Studio’da Switch, iki seçenek arasında seçim yapmak için kullanılabilen iki durumlu bir geçiş anahtarı widget’ıdır. Kullanıcıya basit bir kaydırıcı kontrolü gibi görünen bir seçeneğin açık ve kapalı durumunu görüntülemek için kullanılır. Kullanıcı, seçilen seçeneği seçmek için “parmağı” ileri geri sürükleyebilir veya anahtarın durumunu değiştirmek için basitçe dokunabiliriz.

Genellikle Hotspot, Flashlight, WiFi vb. açma/kapama seçimlerinde kullanılır. android.widget.CompoundButton sınıfının alt sınıfıdır.

Switch, işleve göre bir ToggleButton’a benzer, ancak her ikisi de Switch’in anahtarın durumunu kontrol etmek için bir örümceğe sahip olması ve hem Switch’in hem de ToogleButton’un UI’sinin farklı olması gibi bazı farklılıklara sahiptir.

Artık switch hakkında yeterli bilgiye sahibiz, android uygulamamıza bir switch ekleyelim.

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) seçin.
  • 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 Switch‘i ekleyin, şimdi activity_main.xml dosyamız aşağıda gösterildiği gibi görünecektir:

Yukarıdaki kodda, Android Activity varsayılan Switch anahtarını ekledik.

Örnek ile Switch’in Özellikleri:

Switch’in özellikleri ve bunları android uygulamasında switch’i özelleştirmek için nasıl kullanabileceğimiz hakkında daha fazla bilgi edelim.

id özelliği:

Belirli bir Switch‘i tanımlayabileceğimiz Switch için benzersiz bir kimlik belirlemek için kullanılır, bu, farklı Switch‘leri farklı kimliklere sahip olduğu anlamına gelir.

checked özelliği

Bu özellik, Switch’in 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, switch varsayılan olarak onaylı, false olarak ayarlandığında ise varsayılan olarak onaysız gelir.

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

Java

Kotlin

text özelliği:

Switch’in metnini ayarlamak için kullanılır. Metni doğrudan aşağıda gösterildiği gibi ayarlayabiliriz:

Kod kullanarak dinamik olarak da metni değiştirebilirsiniz. setText(CharcaterSwequence cs) metodu kullanarak Switch buton üzerindeki metni dinamik olarak aşağıdaki gibi değiştirebilirsiniz.

Java

Kotlin

Android Switch text

gravity özelliği

Bir Switch’te metnin gravitiy değerini ayarlamak için kullanılır(Yazının Switch içindeki konumunu değiştirir). Varsayılan left değeridir. rightleftcentercenter_horizontaltopbottomcenter_verticalclip_horizontalclip_verticalendfillfill_horizontalfill_vertical, ve start gibi birçok gravite değeri vardır. Gravity etkisini görmek için android:layout_width = "match_parent" ayarlamalıyız.

Android Switch Gravity

Aşağıda gösterildiği gibi setGravity(int gravity) metodu kullanarak Java/Kotlin kodunda çalışma zamanında metin gravity değerini değiştirebiliriz:

Java

Kotlin

textOn ve textOff Özelliği

TextOn özelliği, Switch işaretli durumdayken (anlamına gelir) göstermek istediğimiz metni ayarlamak için kullanılır ve textOff özelliği, Switch 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.

Çıktı:

textOn ve textOff

Ayrıca setTextOn(CharSeqence texton) ve setTextOff(CharSeqence textoff) fonksiyonlarını kullanarak Java/Kotlin kodundaki textOn ve textOff değerlerini aşağıda gösterildiği gibi değiştirebiliriz:

Java

Kotlin

textColor özelliği

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

Çıktı:

textColor özelliği

Aynı şeyi Java/Kotlin kodunda da setTextColor(int color) veya setTextColor(ColorStateList colors) fonksiyonlarını aşağıda gösterildiği gibi kullanarak yapabiliriz:

Java

Kotlin

textSize özelliği

Bu öznitelik, Switch 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:

Çıktı:

setTextSize(float size) ve setTextSize(int unit, float size) fonksiyonlarını kullanarak Java/Kotlin kodundan metin boyutunu değiştirebiliriz:

Java

Kotlin

textStyle  özelliği

Switch metninin metin stilini ayarlamak için kullanılır. Android’de bulunan 3 metin stili bold, normal ve italic . Varsayılan metin stili normaldir ve birden fazla metin stili kullanmak istiyorsak | operatörü kullanabilirsiniz. Örneğin, bold | italic.

Aşağıda gösterildiği gibi setTypeface( Typeface tf) ve setTypeface( Typeface typeface, int style ) işlevlerini kullanarak Java/Kotlin kodundan metin stilini değiştirebiliriz:

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:

Java/Kotlin kodundaki arka planı setBackgroundColor(int color) işlevini kullanarak da ayarlayabiliriz:

Java

Kotlin

padding özelliği

İş boşluğu Switch’e 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.

yada

Ayrıca aşağıda gösterildiği gibi setPadding( int left, int top, int right, int bottom ) metodu kullanarak Java/Kotlin kodundan dolgu ekleyebiliriz:

Java

Kotlin

Android Switch ile Listener Kullanımı

Şimdi, kullanıcının Switch‘e 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

Switch’in 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:

Java

Kotlin

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:

setOnCheckedChangeListener metodunu Kotlin kullanarak yapmak için buradaki bağlantıya tıklayın.

İhtiyaçlarımıza göre kullanabileceğimiz başka birçok dinleyici var. Bu 2 dinleyici en temel olanıdır ve bu dinleyicilerle herhangi bir sorun olmadan herhangi bir proje yapılabilir.

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

2 yorum