Bu makalede Android programlamada Switch nasıl kullanılır? ve Switch ne işe yarar? gibi soruları cevaplamaya çalışarak Switch kullanımını gösteren basit bir örnek oluşturacağım.
Android platformunda kullanıcı arayüzlerinde kullanılan birçok farklı öğe vardır. Bu öğeler arasında radioButton lar, onay kutuları ve kaydırma çubukları yer alırken, bir diğer popüler öğe de “Switch” adı verilen öğedir. Switch, kullanıcının bir seçeneği açıp kapatabileceği bir geçiş düğmesi görevi görür ve birçok farklı uygulama tarafından kullanılır.
Switch Nedir?
Switch, kullanıcının bir seçeneği açıp kapatabileceği bir geçiş düğmesidir. Genellikle ayarlar menülerinde veya kullanıcı tercihlerini seçmek için kullanılır. Switch, kullanıcının seçeneği etkinleştirip etkinleştirmeme konusunda hızlı ve kolay bir karar vermesine olanak tanır.
Switch Kullanımı
Switch kullanmak oldukça basittir. İlk olarak, bir Switch öğesi oluşturmanız gerekir. Bunun için, XML dosyasında aşağıdaki gibi bir kod yazabilirsiniz yada görsel olarak activity’ e ekleyebilirsiniz.
1 2 3 4 5 6 7 8 |
<Switch android:id="@+id/switch_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Switch" android:checked="true" /> |
Bu kod, bir Switch öğesi oluşturur ve öğenin ID’si, genişlik ve yükseklik değerleri, metni ve başlangıç durumu belirtilir.
Switch öğesine ulaşmak ve kullanmak için, öncelikle Activity sınıfında bir referans oluşturmanız gerekir. Aşağıdaki gibi bir kod yazabilirsiniz:
1 2 3 |
Switch mySwitch = (Switch) findViewById(R.id.switch_id); |
Bu kod, Switch öğesinin ID’si kullanılarak bir referans oluşturur. Ardından, Switch’in durumunu kontrol etmek veya değiştirmek için aşağıdaki gibi yöntemler kullanılabilir:
1 2 3 4 |
boolean isChecked = mySwitch.isChecked(); mySwitch.setChecked(false); |
İlk yöntem, Switch’in mevcut durumunu kontrol ederken, ikinci yöntem Switch’in durumunu değiştirir.
Switch Özellikleri
Switch, birçok farklı özellikle özelleştirilebilir. Bazı özellikler şunlardır:
- text: Switch öğesinde görüntülenen metni belirtir.
- textOn: Switch öğesi açıkken görüntülenen metni belirtir.
- textOff: Switch öğesi kapalıyken görüntülenen metni belirtir.
- thumb: Switch’in anahtarı olarak kullanılacak görüntüyü belirtir.
- track: Switch’in arka planında kullanılacak görüntüyü belirtir.
- checked: Switch’in başlangıç durumunu belirtir.
Bu özelliklerin her biri, Switch öğesinin görünümünü değiştirerek, kullanıcı
deneyimini iyileştirmeye yardımcı olabilir. Örneğin, textOn ve textOff özellikleri, Switch’in açık veya kapalı olduğunda kullanıcıya net bir geri bildirim sağlamasına yardımcı olabilir.
Ayrıca, Switch’in rengini değiştirmek için de birkaç özellik mevcuttur. Örneğin, android:thumbTint ve android:trackTint özellikleri kullanılarak, Switch’in anahtarı ve arka planının rengi değiştirilebilir.
Switch Kullanımında Dikkat Edilmesi Gerekenler
Switch kullanırken, bazı dikkat edilmesi gereken noktalar vardır. Örneğin, Switch öğesi, tek bir seçeneği açıp kapatabilir. Birden fazla seçenek sunmak istediğinizde, radyo butonları veya onay kutuları gibi diğer öğeleri kullanmanız gerekebilir.
Ayrıca, Switch öğesi doğru şekilde etiketlenmeli ve erişilebilir olmalıdır. Örneğin, ekran okuyucuları gibi yardımcı teknolojiler, kullanıcıların Switch öğesinin durumunu duymasına yardımcı olabilir. Bu nedenle, Switch öğesi için doğru bir etiket sağlamak önemlidir.
Sonuç olarak, Android platformunda Switch kullanımı oldukça yaygındır ve birçok uygulama tarafından kullanılır. Switch öğesi, kullanıcıların bir seçeneği hızlı ve kolay bir şekilde açıp kapatabilmesine olanak tanırken, farklı özelliklerle özelleştirilebilir. Ancak, Switch kullanırken dikkat edilmesi gereken bazı noktalar da vardır ve doğru şekilde etiketlenmeli ve erişilebilir olmalıdır.
Switch Kullanım Örneği (Lamba Açma Kapama)
Şimdi Switch kullanarak basit bir örnek oluşturalım. Örneğimizin çalışır hali aşağıdaki gibi olacaktır.
Bu işlem için önceden hazır olan kapalı ve açık lamba resimlerini kullanacağız.
Bu resimleri ayırarak drawable klasörüne kopyalayalım.
Şimdi tasarım için activity_main.xml dosyamızı oluşturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="32dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/loff" /> <Switch android:id="@+id/switch_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="32dp" android:text="OFF" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/image_view" /> </android.support.constraint.ConstraintLayout> |
Daha sonra, MainActivity.java dosyasına geçin ve aşağıdaki kodu ekleyin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package com.example.switchbutton; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.ImageView; import android.widget.Switch; public class MainActivity extends AppCompatActivity { ImageView imageView; Switch aSwitch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView=findViewById(R.id.image_view); aSwitch=findViewById(R.id.switch_button); aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ imageView.setImageResource(R.drawable.lon); aSwitch.setText("ON"); } else{ imageView.setImageResource(R.drawable.loff); aSwitch.setText("OFF"); } } }); } } |
Bu kod, Switch öğesine bir dinleyici ekleyerek, kullanıcının Switch öğesini açıp kapattığında bir ImageView öğesinin görüntüsünü değiştirir ve Switch öğesinin metnini “ON” veya “OFF” olarak değiştirir.
Bu örnekte, R.drawable.lon ve R.drawable.loff, açık ve kapalı durumlar için resim dosyalarını temsil eder. Bu resim dosyalarını drawable klasörüne eklediğinizi varsayıyorum.