Android学习笔记(五)——RadioGroup&RadioButton

  • 实现RadioButton由两部分组成,也就是RadioButton和RadioGroup配合使用.
  • RadioGroup是单选组合框,可以容纳多个RadioButton的容器.
  • 在没有RadioGroup的情况下,RadioButton可以全部都选中
  • 当多个RadioButton被RadioGroup包含的情况下,RadioButton只可以选择一个。

Xml代码

    <RadioGroup
        android:id="@+id/rg_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">   //竖直方向摆放
    <RadioButton
        android:id="@+id/rb_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="男"
        android:checked="true"       //默认选中,**如果设置checked,一定要加id**
        android:textSize="20sp"
        android:textColor="#0066FF"
        />
        <RadioButton
            android:id="@+id/rb_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女"
            android:layout_marginTop="10dp"
            android:textSize="20sp"
            android:textColor="#0066FF"
            />
        
        </RadioGroup>

效果:

在这里插入图片描述

自定义RadioButton


    <RadioGroup
        android:id="@+id/rg_2"
        android:layout_below="@+id/rg_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"        //水平排列
        android:layout_marginTop="50dp">
        <RadioButton
            android:id="@+id/rb_3"
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:text="男"
            android:button="@null"            //去除前面的圆圈
            android:checked="true"
            android:textSize="20sp"
            android:textColor="#000000"
            android:background="@drawable/rb_button"  //自定义背景
            android:gravity="center"
            />
        <RadioButton
            android:id="@+id/rb_4"
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:text="女"
            android:button="@null"
            android:layout_marginLeft="15dp"
            android:textSize="20sp"
            android:textColor="#000000"
            android:background="@drawable/rb_button"
            android:gravity="center"
            />

    </RadioGroup>

在drawable中自定义背景:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true">      //选中的效果
        <shape>
            <solid android:color="#1AE6E6"/>
            <corners
                android:radius="5dp"/>
        </shape>
    </item>
    <item android:state_checked="false">  //未选中的效果
        <shape>
            <stroke
                android:color="#1AE6E6"
                android:width="2dp"
                />
        </shape>
    </item>

效果展示:

在这里插入图片描述

设置监听事件

private RadioGroup mRg1;
mRg1=(RadioGroup)findViewById(R.id.rg_1);
mRg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){   //被选择的监听器
      @Override
      public void onCheckedChanged(RadioGroup group, int checkedId) {  //参数:被选择的按钮所在的组,id
            RadioButton radioButton=(RadioButton)group.findViewById(checkedId);     //根据被选择按钮的ID找到被选择按钮
            Toast.makeText(RadioButtonActivity.this,radioButton.getText(),
            Toast.LENGTH_SHORT).show();         //设置提示信息
            }
        });

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值