Switch和ToggleButtn都是开关按钮,我们在WLAN、GPS常用开关控制。

一、设计界面

  1、打开“res/layout/activity_main.xml”文件。

  从工具栏向activity拖出1个Switch开关按钮、1个ToggleButton按钮。

2、打开activity_main.xml文件。

  代码如下:

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Switchandroid:id="@+id/wlan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textOn="开"android:textOff="关"/><ToggleButtonandroid:id="@+id/gps"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="ToggleButton"/></LinearLayout>

二、程序文件 

  打开“src/com.genwoxue.switchtogglebutton/MainActivity.java”文件。

  然后输入以下代码:

importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.CompoundButton;importandroid.widget.CompoundButton.OnCheckedChangeListener;importandroid.widget.Switch;importandroid.widget.Toast;importandroid.widget.ToggleButton;publicclassMainActivityextendsActivity{//声明SwitchprivateSwitchwlan=null;privateToggleButtongps=null;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取Switch对象、ToggleButton对象wlan=(Switch)super.findViewById(R.id.wlan);gps=(ToggleButton)super.findViewById(R.id.gps);/**因为Switch组件继承自CompoundButton,在代码中可以*通过实现CompoundButton.OnCheckedChangeListener接口*并实现其内部类的onCheckedChanged来监听状态变化**/wlan.setOnCheckedChangeListener(newOnCheckedChangeListener(){@OverridepublicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){if(isChecked)Toast.makeText(getApplicationContext(),"Switch状态为开",Toast.LENGTH_LONG).show();elseToast.makeText(getApplicationContext(),"Switch状态为关",Toast.LENGTH_LONG).show();}});/**因为ToggleButton组件继承自CompoundButton,在代码中可以通过实现*CompoundButton.OnCheckedChangeListener接口,并实现*其内部类的onCheckedChanged来监听状态变化*/gps.setOnCheckedChangeListener(newOnCheckedChangeListener(){@OverridepublicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){if(isChecked)Toast.makeText(getApplicationContext(),"ToggleButton状态为开",Toast.LENGTH_LONG).show();elseToast.makeText(getApplicationContext(),"ToggleButton状态为关",Toast.LENGTH_LONG).show();}});}}

三、运行效果