一、常见APP界面举例

   

左边的图片采自某小说阅读器注册页面—根据用户性别选择的不同 代表性别的图片会显示不同的状态——使用ToogleButton可以实现这个效果;右边的图片采自某Q设置页面—用户可以在里面进行一系列应用设定——使用Switch可以实现这个效果。

二、ToggleButton和Switch介绍

状态开关按钮(ToggleButton)和开关(Switch)也是由Button派生出来的,因此它们本质上都是按钮,Button支持的各种属性、方法也适用于ToggleButton和Switch。从功能上看,ToggleButton、Switch和CheckBox复选框非常相似,都能提供两种状态,但是它们区别主要在功能上。ToggleButton和Switch主要用于切换程序中的状态。

Switch支持的XML属性和相关方法:

ToggleButton支持的XML属性及相关方法:

三、话不多说,上布局XML代码

<ToggleButton
    android:id="@+id/main_tog_btn"
    android:checked="false"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textOn="open"
    android:textOff="close"/><ImageView
    android:id="@+id/main_img"
    android:layout_marginTop="50dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/circle_red"/><Switch
    android:layout_marginTop="100dp"
    android:layout_gravity="center"
    android:switchMinWidth="200dp"
    android:splitTrack="true"
    android:id="@+id/main_sw"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textOff="low"
    android:textOn="speed"
    android:thumb="@drawable/close"
    android:checked="false"
    android:text="我是Switch"/>

布局XML代码中一共布局了一个ToggleButton、一个Switch、一个测试用的ImageView。

四、最后上Activity中操作代码

public class MainActivity extends AppCompatActivityimplements CompoundButton.OnCheckedChangeListener {private ToggleButton tb;private ImageView img;private Switch switcher;@Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main_activity);//初始化控件
        tb = (ToggleButton) findViewById(R.id.main_tog_btn);img = (ImageView) findViewById(R.id.main_img);switcher = (Switch)findViewById(R.id.main_sw);//设置监听器
        tb.setOnCheckedChangeListener(this);switcher.setOnCheckedChangeListener(this);}@Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {img.setImageResource(isChecked?R.drawable.circle_red:R.drawable.circle_green);}
}

Activity代码分析:

①分别给ToggleButton和Switch绑定按钮;

②运用实现OnClickListener接口的方式同时实现ToggleButton和Switch的点击事件;

运用一组点击事件,绑定两个控件,意味着两个控件可以实现一样的UI效果。

五、点击ToggleButton和移动Switch滑块之后的结果:

最终运行程序的结果如预期一样,ToggleButton和Switch由于绑定了一组监听事件,所以可以通过用户不同的操作吧实现同样的效果。

ToggleButton(状态开关按钮)及Swich(开关)使用详解相关推荐

  1. 【Axure RP9基础】Axure滑块开关效果详解

    Axure滑块开关效果详解 最终效果:点击切换开.关状态,默认为开的状态: 步骤1:拖动元件[矩形]至画布中,调整形状,填充颜色,去掉边框: 步骤2:拖动元件[圆形]至画布中,调整大小使之直径略小于步 ...

  2. 线程状态,优先级,守护线程基础详解

    线程状态,优先级,守护线程基础详解 线程状态 停止线程 线程休眠 线程礼让 线程强制执行 线程状态检测 线程的优先级 守护线程 线程同步 线程状态 创建状态(new 之后就是创建状态 就绪状态(调用s ...

  3. togglebutton用法 java_Android中ToggleButton开关状态按钮控件使用方法详解

    ToggleButton开关状态按钮控件使用方法,具体内容如下 一.简介 1. 2.ToggleButton类结构 父类是CompoundButton,引包的时候注意下 二.ToggleButton开 ...

  4. 干货|8款开关电路设计详解,电路图+工作原理,图文结合,秒懂

    今天给大家分享的是:开关电源电路设计.工作原理图详解. 一.开关电源简介 开关电源又称交换式电源.开关变换器,是一种高频化电能转换装置,是电源供应器的一种.其功能是将一个位准的电压,透过不同形式的架构 ...

  5. mos管开关电路_【电路】MOS管开关电路图详解(一)

    MOS管的开关特性 静态特性 MOS管作为开关元件,同样是工作在截止或导通两种状态.由于MOS管是电压控制元件,所以主要由栅源电压uGS决定其工作状态. 工作特性如下: ※uGS ※ uGS>开 ...

  6. linux基础命令-查看系统状态-free -m以及top命令详解

    正文:  一:free命令 free命令是显示的当前内存的使用,-m的意思是M字节来显示内容,应该是大家使用最频繁的命令之一,不多说,我们来一起看看 weblogic@YDCK-APP11:~> ...

  7. 开关稳压器详解(二)-Buck降压型开关稳压器基本原理

    顾名思义,Buck型降压开关稳压器是指输入电压高于输出电压,转换原理如下图所示: ①检测输出电压,与基准电压进行比较 ②低于设定的输出电压时,开关ON,电流方向按照红色箭头流动 ③电感储存磁能 ④高于 ...

  8. linux显示当前电源功耗命令,linux基础命令-查看系统状态-free -m以及top命令详解...

    博文说明[前言]: 本文将通过个人口吻介绍Linux下的free命令及top命令的相关知识,在目前时间点[2017年6月19号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指 ...

  9. 【精华帖】单火线开关设计详解

    第一章 引言 1.1 单火线产品的现状 近几年来智能家居发展迅猛,特别是互联网巨头纷纷入场,加速此市场的发展,以及智能手机等其他智能设备的不断普及,为家居智能化带来发展的空间,近几年来智能家居呈现井喷 ...

  10. AcWing 95. 费解的开关 Python详解

    一.算法思想--递推(详细证明见算法竞赛进阶指南原书) 1)若固定第1行,则方案至多只有1种 2)把第1行的所有情况遍历,先把亮着的灯全部关闭 3)遍历前4行,如果灯是关着的,就把下1行同1列的灯改变 ...

最新文章

  1. 2020年全球十大突破性技术公布:数字货币等在列
  2. collapse 聚合
  3. c++定义一个动态全局变量_静态链接与动态链接的宏观概述及微观详解
  4. 2021计算机技术调剂,2021年华南师范大学计算机技术考研调剂信息
  5. vscode自动加前缀_详解VScode自动补全CSS3前缀插件以及配置无效的解决办法
  6. Gui+jdbc+mysql实现图书管理
  7. 翻译:图解HTTPS工作原理、秘钥、握手、HTTPS,SSL,TLS的区别、证书
  8. 协作机器人关节模组总结
  9. 初级软考程序员科目一考什么内容?
  10. 汇编语言--常用DOS功能
  11. 在vue中如何使用umy-ui
  12. css 毛玻璃: backdrop-filter
  13. Android中的PID,UID,TID
  14. AI绘图实战(十):制作线稿矢量图之包头巾的女人,画矢量图/生成矢量图/导出矢量图/直出svg/vector studio插件使用 | Stable Diffusion成为设计师生产力工具
  15. 二叉树的先序创建、前中后序遍历(递归)C++
  16. java.lang.IllegalArgumentException 异常报错完美解决
  17. composer 详解
  18. mplayer 播放电台_通过SSH的MPlayer从远程主机播放电影
  19. Python基础1:数据类型、序列
  20. mysql网吧管理系统_基于jsp的网吧管理系统-JavaEE实现网吧管理系统 - java项目源码...

热门文章

  1. html5清新文艺,清新文艺范的句子
  2. 华为nova7se怎么看云相册_华为nova7se不好吗?现在买的人非常少,这是为什么
  3. 创建一个全功能的FLV播放器
  4. java if后面要加大括号
  5. uni-app是如何构建小程序的?
  6. 11-20-day04-python入门
  7. 不知道怎么文字转语音合成?来试试这些软件
  8. 英特尔“AI 养猪”!
  9. 魔兽世界伯尔瓦公爵黑装备的故事
  10. 计算机科学双一流大,不是“双一流”却拥有A类学科的高校,附选专业攻略!...