1.switch是一种只有两种状态的控件如:
继承关系如下:java.lang.Object
↳Android.view.View
↳android.widget.TextView
↳android.widget.Button
↳android.widget.CompoundButton
↳android.widget.Switch
使用方法和其他控件差不多:
<Switch android:id="@+id/switch01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOff="关闭" android:textOn="开启" />
第一个参数不用多解释就是这个Switch控件,第二参数指的是现在处于哪一种状态,如果是true则处于textOn,false处于textOff。
sw.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { // TODO Auto-generated method stub if(arg1){ Toast.makeText(MainActivity.this, "你选中了打开", 3333).show(); }else{ Toast.makeText(MainActivity.this, "你选关闭", 3333).show(); } } });
注意开和关的区别,它也可以动态设置文字。如下:
<ToggleButton android:id="@+id/tgb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:textOn="@string/open" android:textOff="@string/close" />
监听器也和Switch一样如下:
tg.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { // TODO Auto-generated method stub if(arg1){ Toast.makeText(MainActivity.this, "打开", 3333).show(); }else{ Toast.makeText(MainActivity.this, "关闭", 3333).show(); } } });这两个开关组件的功能是一样的只不过只是展现的形式不同而已。