Android uygulamanızda kullanıcı girişlerini kabul etmek için bir form oluşturduğunuzda ve kullanıcının seçebileceği birkaç seçeneği listelemeniz gerektiğinde, onay kutuları ve radyo kutuları kullanışlı olur.
radyo kutusu(radiobutton) ve onay kutusu(checkbox) arasındaki işlevsel fark, kullanıcı tarafından birden fazla seçenek arasından yalnızca biri seçilebildiğinde radyo kutusunu kullanmamız ve çoklu seçime izin veriliyorsa, onay kutusunun kullanılması gerektiğidir.
Android’de CheckBox View Kullanımı
Kullanıcıya birden fazla seçenek göstermeniz gerektiğinde onay kutusu(checkbox) kullanılır ve kullanıcının üzerlerine dokunarak istedikleri kadar seçenek seçmesine izin verilir. Varsayılan kontrol durumunu true veya false olarak ayarlayabilirsiniz ve diğer özellikler TextView ile aynıdır.
CheckBox kontrolü ile ilgili daha fazla bilgi için buraya bakabilirsiniz.
Aşağıdaki örnekte 3 tane onay kutusu nesnesi mevcut ve bunlardan iki tanesi varsayılan olarak seçili gelmektedir.
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 | <CheckBox android:id="@+id/cb_hobi1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Yüzme" android:checked="true" android:textColor="@android:color/black" android:layout_marginLeft="30dp"/> <CheckBox android:id="@+id/cb_hobi2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Güreş" android:textColor="@android:color/black" android:layout_marginLeft="30dp"/> <CheckBox android:id="@+id/cb_hobi3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Cirit" android:checked="true" android:textColor="@android:color/black" android:layout_marginLeft="30dp"/> |
android:checked=”true”
Bu öznitelik onaylı olmasını sağlar, yani onay işaretini varsayılan olarak onay kutusuna yerleştirir.
Bu, uygulama ekranında bir CheckBox görünümünü nasıl görüntüleyebileceğimizi kapsar.
Çıktı:

Android’de RadioButton View Kullanımı
RadioButton, birden çok seçenek listesinden yalnızca bir seçeneğin seçilmesine izin vermeniz gerektiğinde kullanılır. Listelenen tüm radyo düğmelerinden seçilen bir değeri alabilmemiz için ana görünümü – RadioGroup altında kullanılır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <RadioGroup android:id="@+id/rg_cinsiyet" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_marginLeft="20dp"> <RadioButton android:id="@+id/rb_erkek" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ERKEK" android:textColor="@android:color/black"/> <RadioButton android:id="@+id/rb_kadin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/black" android:text="KADIN"/> </RadioGroup> |
Ayrıca, yalnızca birinin seçilebileceği seçeneklerin bir listesini göstermek için bir Spinner View kullanabiliriz. Ancak bir Spinner’da, tüm seçenekler kullanıcıya aynı anda gösterilmez, bu daha çok bir açılır menü gibidir.
Ayrıca RadioGroup, LinearLayout‘un bir alt sınıfıdır ve varsayılan olarak dikey yönlendirmeye sahip olduğundan radyo düğmesini dikey olarak düzenler. Ancak, XML dosyasındaki RadioGroup
‘unuza android:orientation="horizontal"
niteliğini ekleyerek bunu değiştirebilirsiniz.
Ekran çıktısı:

Android’de RadioButton Olay Kullanımı
Android’de olay kullanımı ile ilgili daha detaylı yazımız olacak ancak uygulamayı test etmek için aşağıdaki gibi radio butona tıklandığında toast mesaj olarak seçili olan değeri ekranda gösteren uygulamayı yapabilirsiniz.
XML:
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 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="4dp"> <RadioGroup android:id="@+id/rg_cinsiyet" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_marginLeft="20dp"> <RadioButton android:id="@+id/rb_erkek" android:onClick="onRadioButtonSecim" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ERKEK" android:textColor="@android:color/black"/> <RadioButton android:id="@+id/rb_kadin" android:onClick="onRadioButtonSecim" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@android:color/black" android:text="KADIN"/> </RadioGroup> </RelativeLayout> |
Java:
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 40 41 | package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onRadioButtonSecim(View view){ boolean checked = ((RadioButton) view).isChecked(); switch (view.getId()){ case R.id.rb_erkek : if (checked) Toast.makeText(getApplicationContext(),"Erkek Seçildi", Toast.LENGTH_LONG).show(); break; case R.id.rb_kadin: if (checked) Toast.makeText(getApplicationContext(),"Kadın Seçildi", Toast.LENGTH_LONG).show(); break; default:break; } } } |
Kotlin:
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 | package com.example.tasarimkodlama import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.provider.MediaStore import android.view.View import android.widget.EditText import android.widget.RadioButton import android.widget.TextView import android.widget.Toast import org.json.JSONException import org.json.JSONObject class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } fun onRadioButtonSecim(view:View){ if (view is RadioButton) { // Is the button now checked? val checked = view.isChecked when (view.getId()) { R.id.rb_erkek -> if (checked) Toast.makeText(getApplicationContext(), "Erkek Seçildi", Toast.LENGTH_LONG).show(); R.id.rb_kadin -> if (checked) Toast.makeText(getApplicationContext(), "Kadın Seçildi", Toast.LENGTH_LONG).show(); } } } } |
Çıktı:

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