android学习总结(16.08.29)单选按钮(RadioButton),多选按钮(CheckBox)和开关按钮(Switch)

原创 2016年08月29日 20:14:41

单选按钮组

介绍单选按钮RadioButton之前,先介绍一下单线按钮的容器RadioGroup

RadioGroup的继承于LinearLayout,它是专门用来容纳单选按钮RadioButton的容器

一个RadioGroup容器为一个单选组

RadioGroup的Orientation属性,决定选项的排列方式为横向或纵向,默认为vertical
在RadioGroup中添加RadioButton控件即可添加一个单选选项

对于RadioButton,一个RadioGroup中只有一个RadioButton可以被选中(名副其实的单选)
RadioButton的checked属性可以设定RadioButton是否被选中,默认值为false


单选项RadioButton的监听器

若要RadioButton对点击(选择)有响应必须使用它的setOnCheckedChangeListener方法绑定监听器
针对单选监听器要实现  接口
RadioGroup.OnCheckedChangeListener()
并重写该接口的onCheckedChanged方法:
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId)
其中group是当前点击或进行选择的RadioGroup选项组,
checkedId是当前被选中的子项目RadioGroup的ID(对应XML)


通常在此方法中处理点击后的相应行为来对不同的子项目RadioButton进行响应

switch(checkId){
    case xxx:
    ....
    case xxx:
    ...

    ...
}



多选按钮

多选项(CheckBox)和单选项(RadioButton)不一样,不用把多个选项放到一个组中
每个CheckBox都单独是一个选项,而且可以多选
其属性checked 决定其是否被选中,默认为false


多选项CheckBox的监听器

使用CheckBox的setOnCheckedChangeListener方法来绑定监听器
监听器要实现接口
CompoundButton.OnCheckedChangeListener   (注意与RadioButton的监听器区分,属于同类中)
并实现接口的void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 方法
方法中buttonView是被点击(checked属性改变)的CheckBox实例的引用,isChecked为被引用的CheckBox实例checked属性的值
这个方法可以对checked属性发生改变的CheckBox作出响应
通常会使用判断语句根据isChecked的值作出不同响应

Switch 开关

注意区分大小写(switch)
和CheckBox类似,个人认为只是外观有区别
也是使用CompoundButton.OnCheckedChangeListener 的实现类的实例作为监听器


三个控件的父类

RadioGroup,CheckBox,Switch都是抽象类CompoundButton的子类
而CompoundButton是Button的子类并实现了Checkable接口
因此Button的所有属性这三个控件都可使用 

android单选框被选中的变更监听事件

本文介绍了Android中如何使用RadioGroup和RadioButton,对比了RadioButton和CheckBox的区别,并实现了自定义的RadioGroup中被选中RadioButton...
  • wlimin0523
  • wlimin0523
  • 2013年05月30日 10:55
  • 3810

Android 代码中动态为RadioGroup添加RadioButton

动态添加RadioButton相关设置
  • hongyiandroid
  • hongyiandroid
  • 2016年07月01日 12:09
  • 7466

安卓对话框之----多选框(CheckBox)

简单讲解一下原理:每个多选框都是独立的,可以通过迭代所有多选框,然后根据其状态是否被选中再获取其值。  CheckBox.setChecked(true);//设置成选中状态。  CheckBox...
  • xueshuangshuang123
  • xueshuangshuang123
  • 2013年06月25日 17:24
  • 14790

android_checkbox_dialog 设计 是不是要开起 默认不提示对话框

android_checkbox_dialog设计是不是开起默认不提示package com.example.android_checkbox_dialog;import android.app.Ac...
  • DAo_1990
  • DAo_1990
  • 2015年07月19日 14:31
  • 688

Android之复选框对话框

main.xml布局文件 xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.andro...
  • wenzhenyu1990
  • wenzhenyu1990
  • 2013年11月13日 23:24
  • 645

Android-带有切换动画的CheckBox

转自:https://github.com/andyxialm/SmoothCheckBox前言切换带动画的效果确实不错,可能以后项目会用得到,所以转发收藏。1,自定义 SmoothCheckBox ...
  • zouzhigang96
  • zouzhigang96
  • 2016年01月26日 09:36
  • 2803

Android自定义Dialog多选对话框(Dialog+Listview+CheckBox)

先放效果截图 项目中需要有个Dialog全选对话框,点击全选全部选中,取消全选全部取消。下午查了些资料,重写了一下Dialog对话框。把代码放出来。public class MainActivity...
  • wshngyf
  • wshngyf
  • 2016年03月27日 00:04
  • 5468

Android checkbox 实现单选

  • 2015年09月26日 09:55
  • 795KB
  • 下载

Android 使用checkbox 做出switch开关效果和功能

做到上面的功能,使用switch开关 自定义起来感觉麻烦,就使用checkbox自定义了一个,简单实用,点击上面任何位置都可以进行打开和关闭xml中代码 ...
  • yuxuehandong
  • yuxuehandong
  • 2016年12月22日 19:53
  • 805

Android 使用CheckBox实现好看的开关按钮

近期项目中需要使用到开关按钮,就是有两个选项,实现是否接受新消息的功能,首先想到的就是使用CheckBox,把ui给的图片设置成开关的样式就可以了。效果展示:这里使用的是ToggleButton在xm...
  • Sean_css
  • Sean_css
  • 2016年11月20日 18:11
  • 1673
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android学习总结(16.08.29)单选按钮(RadioButton),多选按钮(CheckBox)和开关按钮(Switch)
举报原因:
原因补充:

(最多只允许输入30个字)