一、在XML文件中定义一个ToggleButton控件:
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="100dip"
android:layout_height="30dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="71dp"
android:layout_marginTop="126dp"
android:textOn="开启"
android:textOff="关闭"
android:checked="true"
android:background="@drawable/mytoggle" />
有几点说明:id值供引用,textOn、Off显示两个状态下的文字,(其实无所谓,图片上有就好了)。checked初始化Toggle一开始在true状态下(开启)。background设置两个状态下的背景图片,这里引用mytoggle这个资源文件,在drawable中定义的,如下:
二、这就是该文件--mytoggle,根为selector集:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/toggle_on" android:state_checked="true"></item>
<item android:drawable="@drawable/toggle_off"></item>
</selector>
三、在Activity中调用之,主要实现一个setOnCheckedChangedListener。其中onCheckedChanged()方法的第二个boolean型参数表示是否选中。
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
// TODO Auto-generated method stub
if(arg1)
{
Toast toast = Toast.makeText(getApplicationContext(), "开启", Toast.LENGTH_LONG);
toast.show();
}
else
{
Toast toast = Toast.makeText(getApplicationContext(), "关闭", Toast.LENGTH_LONG);toast.show(); toast.show();
}
}});