本文以一个简单的小例子,简述在Android开发中ToggleButton(开关按钮)和Switch(开关)的简单使用,仅供学习分享使用。
概述
ToggleButton是一个有两种状态(checked/unchecked)的按钮,经常用于开/关等场景中,默认文本显示(ON/OFF),Switch 是一个拥有两种状态的控件,具有滑动的效果。
ToggleButton
ToggleButton涉及知识点如下:
- android:textOff 设置未选中时显示的文本内容,默认为OFF。
- android:textOn 设置选中时显示的文本内容,默认为ON。
- android:disabledAlpha 控件禁用时的透明度,float类型,
- android:background 背景设置,可以用于设置一个图片或者资源文件
- setOnCheckedChangeListener 用于设置监听状态改变的事件
- OnCheckedChangeListener 状态监听事件,是一个接口,有一个函数需要实现
- onCheckedChanged(CompoundButton buttonView, boolean isChecked) 监听事件需要实现的函数
ToggleButton示例效果图如下:
ToggleButton源码
(xml)源码如下:
19
关于toggle_selector资源文件如下(资源文件中的on和off对应图片):
1 23 - 4
- 5
实现监听事件的源码如下:
1 mToggleButton =(ToggleButton) this.findViewById(R.id.tb_info);2 mToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {3 @Override4 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {5 String info="当前状态是:"+(isChecked?"打开":"关闭");6 Toast.makeText(MainActivity.this,info,Toast.LENGTH_LONG).show();7 }8 });
Switch控件
Switch涉及知识点如下:
- android:textOff 设置未选中时显示的文本内容,默认为OFF。
- android:textOn 设置选中时显示的文本内容,默认为ON。
- android:thumb:滑块的图片
- android:showText:设置on/off的时候是否显示文字,boolean
- android:splitTrack:是否设置一个间隙,让滑块与底部图片分隔,boolean
- setOnCheckedChangeListener 用于设置监听状态改变的事件
- OnCheckedChangeListener 状态监听事件,是一个接口,有一个函数需要实现
- onCheckedChanged(CompoundButton buttonView, boolean isChecked) 监听事件需要实现的函数
Switch示例效果图如下:
Switch源码
xml源码如下(其中的toggle_selector和上面一样,设置选中和未选中时的图片):
1
监听事件源码如下:
1 mSwitch =(Switch)this.findViewById(R.id.sw_info);2 mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {3 @Override4 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {5 String info="当前状态是:"+(isChecked?"打开":"关闭");6 Toast.makeText(MainActivity.this,info,Toast.LENGTH_LONG).show();7 }8 });
备注
ToggleButton和Switch是很常见的基础性控件,简单易用,场景广泛,本文旨在抛砖引玉,希望大家共同学习。