一起学Android之ToggleButton和Switch
程序员文章站
2022-04-09 18:00:24
本文以一个简单的小例子,简述在Android开发中ToggleButton(开关按钮)和Switch(开关)的简单使用,仅供学习分享使用。 ......
本文以一个简单的小例子,简述在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)源码如下:
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>
实现监听事件的源码如下:
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涉及知识点如下:
- 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 <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"/>
监听事件源码如下:
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是很常见的基础性控件,简单易用,场景广泛,本文旨在抛砖引玉,希望大家共同学习。
上一篇: 网页播放器开发(三)--页面展示