android基本控件——RadioGroup和CheckBox

区别和相似

RadioGroupCheckBox
选中后,通过点击无法变为未选中选中后,通过点击可以变为未选中
在一组中,只能同时选中一个在一组中,只能同时选中多个
大部分UI框架中,默认圆形表示大部分UI框架中,默认框型表示

控件的属性

RadioGroup

(1)orientation:排列方式
  若值为horizontal,则为横向,水平排列:
(2)checkedButton:默认选中
  直接调用已经放入在radiogroup中且已有id的radiobutton即可默认选中此项。

android:checkedButton="@id/rb_male"

(3)android:drawableTop 属性是用来将指定的图片显示到RadioButton的顶部,为了方便我们下面放文字.做成有图案的菜单选项。

 android:drawableTop="@drawable/bottom_icon_iamge_selector_xiaoxi"

在drawble文件中新建一个xml文件
android:drawable="@mipmap/xiaoxi_unchecked"对应于图片
android:state_checked=“false” 对应于该控件的状态

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/xiaoxi_unchecked" android:state_checked="false"></item>
    <item android:drawable="@mipmap/xiaoxi_selected" android:state_checked="true"></item>
</selector>

在这里插入图片描述

Radiobutton

(1)checked:选中状态
  若为true则默认被选中,false则默认不被选中。
(2)button:按钮属性
  若button的值设为“@null”则不显示前面的圆形按钮,只显示 文本内容本身

CheckBox

(1)checked:选中状态
  若为true则默认被选中,false则默认不被选中。
(2)button:按钮属性
  若button的值设为“@null”则不显示前面的圆形按钮,只显示 文本内容本身

方法的调用

1.RadioGroup.getCheckedRadioButtonId();
    该方法可以获取选中的按钮
2.RadioGroup.clearCheck();
    该方法可以清除选中状态 
3.setOnCheckedChangeLintener(RadioGroup.OnCheckedChangeListener listener);
    当一个单选按钮组中的单选按钮选中状态发生改变的时候调用的回调方法
    
方式一

rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
        switch (checkedId){
            case R.id.rb_female:
                toastShow("女的");
                break;
            case R.id.rb_male:
                toastShow("男的");
        }
    }
});

方式二
类名实现接口

 MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener
 RadioGroup radioGroup = (RadioGroup) findViewById(R.id.rg);
            //设置状态改变的事件
 radioGroup.setOnCheckedChangeListener(this);
 @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
            //根据不同ID 弹出不同的吐司
        switch (group.getCheckedRadioButtonId()){
            case  R.id.radioButton_xiaoxi:
                Toast.makeText(this, "你点击了“消息”按钮", Toast.LENGTH_SHORT).show();
                break;
            case  R.id.radioButton_lianxiren:
                Toast.makeText(this, "你点击了“联系人”按钮", Toast.LENGTH_SHORT).show();
                break;
            case  R.id.radioButton_dongtai:
                Toast.makeText(this, "你点击了“动态”按钮", Toast.LENGTH_SHORT).show();
                break;
        }
    }

4.RadioGroup.check(int id);
    该方法可以通过传入ID来设置该选项为选中状态5
5.RadioButton.getText();
    获取单选框的值
6.CheckBox.setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener
liistener)
监听选中状态。
基本上是一个box一个响应。

cb_car.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked){
            toastShow("有车");
        }else {
            toastShow("无车");
        }
    }
});
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值