一块儿学Android之ToggleButton和Switch

本文以一个简单的小例子,简述在Android开发中ToggleButton(开关按钮)和Switch(开关)的简单使用,仅供学习分享使用。android

概述

ToggleButton是一个有两种状态(checked/unchecked)的按钮,常常用于开/关等场景中,默认文本显示(ON/OFF),Switch 是一个拥有两种状态的控件,具备滑动的效果。ide

ToggleButton

ToggleButton涉及知识点以下:

  1. android:textOff 设置未选中时显示的文本内容,默认为OFF。
  2. android:textOn 设置选中时显示的文本内容,默认为ON。
  3. android:disabledAlpha 控件禁用时的透明度,float类型,
  4. android:background 背景设置,能够用于设置一个图片或者资源文件
  5. setOnCheckedChangeListener 用于设置监听状态改变的事件
  6. OnCheckedChangeListener 状态监听事件,是一个接口,有一个函数须要实现
  7. onCheckedChanged(CompoundButton buttonView, boolean isChecked) 监听事件须要实现的函数

ToggleButton示例效果图以下:

ToggleButton源码

(xml)源码以下:函数

 1  <TextView  2         android:id="@+id/tv_toggle"
 3  android:layout_width="match_parent"
 4  android:layout_height="wrap_content"
 5  android:layout_below="@id/sp_info"
 6  android:textSize="15dp"
 7  android:layout_marginBottom="10dp"
 8  android:text="@string/tv_toggle"/>
 9     <ToggleButton 10         android:id="@+id/tb_info"
11  android:textOff=""
12  android:textOn=""
13  android:layout_marginBottom="10dp"
14  android:background="@drawable/toggle_selector"
15  android:layout_below="@id/tv_toggle"
16  android:layout_width="wrap_content"
17  android:layout_height="wrap_content"/>

关于toggle_selector资源文件以下(资源文件中的on和off对应图片):学习

1 <?xml version="1.0" encoding="utf-8"?>
2 <selector xmlns:android="http://schemas.android.com/apk/res/android">
3     <item android:state_checked="true" android:drawable="@drawable/on"></item>
4     <item android:state_checked="false" android:drawable="@drawable/off"></item>
5 </selector>

实现监听事件的源码以下:this

1 mToggleButton =(ToggleButton) this.findViewById(R.id.tb_info); 2         mToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 3  @Override 4             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涉及知识点以下:

  1. android:textOff 设置未选中时显示的文本内容,默认为OFF。
  2. android:textOn 设置选中时显示的文本内容,默认为ON。
  3. android:thumb:滑块的图片
  4. android:showText:设置on/off的时候是否显示文字,boolean
  5. android:splitTrack:是否设置一个间隙,让滑块与底部图片分隔,boolean
  6. setOnCheckedChangeListener 用于设置监听状态改变的事件
  7. OnCheckedChangeListener 状态监听事件,是一个接口,有一个函数须要实现
  8. onCheckedChanged(CompoundButton buttonView, boolean isChecked) 监听事件须要实现的函数

Switch示例效果图以下:

Switch源码

xml源码以下(其中的toggle_selector和上面同样,设置选中和未选中时的图片):spa

1 <Switch 2         android:id="@+id/sw_info"
3  android:textOff=""
4  android:textOn=""
5  android:background="@drawable/toggle_selector1"
6  android:track="@drawable/toggle_selector1"
7  android:layout_below="@id/tb_info"
8  android:layout_width="wrap_content"
9  android:layout_height="wrap_content"/>

监听事件源码以下:code

1 mSwitch =(Switch)this.findViewById(R.id.sw_info); 2         mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 3  @Override 4             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是很常见的基础性控件,简单易用,场景普遍,本文旨在抛砖引玉,但愿你们共同窗习。xml

相关文章
相关标签/搜索