Basit bir örnek uygulama ile toogle button un kullanımını örnek kod ile inceleyeceğiz. Toogle button da iki farklı durum söz konusudur. Seçili olması ve seçili olmaması yada basılı yada basılı değil gibi düşünebiliriz. Hazırlayacağımız toogle button ile bir text in görünürlüğünü değiştirerek, gizle/göster gibi işlemleri yerine getirmesini sağlayarak temel olarak toogle button kullanımı göreceğiz.
Öncelikle Layout da tasarımımızı yaparak işe başlayabiliriz. Yukarıdaki resimde gördüğünüz yapıyı android de XML ile kodlayacak olduğumuzda aşağıdakine benzer bir kod bloğumuz olacaktır.
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
android:paddingBottom
=
"@dimen/activity_vertical_margin"
android:paddingLeft
=
"@dimen/activity_horizontal_margin"
android:paddingRight
=
"@dimen/activity_horizontal_margin"
android:paddingTop
=
"@dimen/activity_vertical_margin"
tools:context
=
"com.example.tooglebutton.MainActivity"
>
<
LinearLayout
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
android:orientation
=
"vertical"
>
<
TextView
android:id
=
"@+id/txtFK"
android:layout_width
=
"match_parent"
android:layout_height
=
"wrap_content"
android:gravity
=
"center"
android:text
=
"Faruk UNAL "
/>
<
ToggleButton
android:id
=
"@+id/toggleButtonVisibility"
android:layout_width
=
"match_parent"
android:layout_height
=
"wrap_content"
android:text
=
"ToggleButton"
android:textOff
=
"GÖRÜNMEZ"
android:textOn
=
"GÖRÜNÜR"
/>
</
LinearLayout
>
</
RelativeLayout
>
Java kod kısmımızda ise ilk olarak global değişkenlerimizi tanımlıyoruz, bütün eventlarda tek tek tanımlamak yerine global olarak tanımlayarak heryerden erişilerek kullanılabilir olmalarını sağlamış oluyoruz.
ToggleButton toggleBtnVisibilityFK;
TextView txtFK;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Create fonksiyonunun içerisinde şimdi de ToogleButton a ve TextView e erişebilmemiz için Layout kısmındaki ID ile işleştirerek tanımlamamızı yapıyoruz. Başlangıç değer olarak da check durumunu aktif olarak ayarlamak için setChecked() event ını kullanıyoruz
txtFK= (TextView) findViewById(R.id.txtFK);
toggleBtnVisibilityFK = (ToggleButton) findViewById(R.id.toggleButtonVisibility);
toggleBtnVisibilityFK.setChecked(true);
Son olarak ise toggleButton a basılması durumunda yapılacak işlemleri tanımlamak için OnClick event ını yakalayarak içerisinde ON ve OFF durumunda yapılacakları kodlayabiliriz
toggleBtnVisibilityFK.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View v) {
boolean
on = ((ToggleButton) v).isChecked();
if
(on) {
// ON durumunda yapılacaklar
}
else
{
//OFF durumunda yapılacaklar
}
}
});
toggleBtnVisibilityFK.setOnClickListener(
new
OnClickListener() {
@Override
public
void
onClick(View v) {
boolean
on = ((ToggleButton) v).isChecked();
if
(on) {
// ON durumunda yapılacaklar
txtFK.setVisibility(View.VISIBLE);
}
else
{
// OFF durumunda yapılacaklar
txtFK.setVisibility(View.INVISIBLE);
}
}
});
Ve uygulamamızı çalıştırdığımızda karşımıza çıkacak olan uygulama da aşağıdaki gibi olacaktır. ToggleButton a her basıldığında Toggle Butonun Text değeri (Bu Textleri XML de belirtmiştik) TextView in görünürlüğü değişecektir