Android控件RadioGroup和RadioButton的使用:

本文详细介绍了RadioGroup和RadioButton在Android开发中的基本概念、特点,包括RadioGroup作为RadioButton容器的作用,如何设置选择器,以及如何在代码中实现单选功能和监听器的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍我了解到的RadioGroup和RadioButton的基本特点和使用。

1.简介:

RadioGroup是容器控件,继承自LinearLayout,所以LinearLayout所有的属性RadioGroup也有。

RadioGroup是专门容纳RadioButton的容器控件。它可以容纳多个RadioButton,并且只让一个Radiobutton可以被选中。

RadioButton是一个特殊的按钮控件,继承自Button,它必须被放置到RadioButton容器内。

多个RadioButton只有一个可以被选中。

2.效果演示:

这里将演示性别那一行的代码效果。

3.代码:

3.1:首先要设置RadioButton未选择和已选择时候的选择器,放到drawable目录下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--未选中的图片-->
    <item android:drawable="@drawable/rounded_rectangle2" android:state_checked="false" />
    <!--选中的图片-->
    <item android:drawable="@drawable/rounded_rectangle" android:state_checked="true" />
</selector>


3.2:其次要设置演示的XML文件:

                <RadioGroup
                        android:id="@+id/rg_gender"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:gravity="center_horizontal">
                        <RadioButton
                            android:id="@+id/rb_male"
                            android:layout_width="30dp"
                            android:layout_height="20dp"
                            android:layout_marginLeft="230dp"
                            android:text="公"
                            android:button="@null"
                            android:gravity="center"
                            android:background="@drawable/radiobutton"
                            />
                        <RadioButton
                            android:id="@+id/rb_female"
                            android:layout_width="30dp"
                            android:layout_height="20dp"
                            android:layout_marginLeft="30dp"
                            android:text="母"
                            android:button="@null"
                            android:gravity="center"
                            android:background="@drawable/radiobutton" />
                    </RadioGroup>

3.3:接着在Activity设置监听器,注意,要对RadioGroup绑定监听器,而不是RadioButton:

RadioGroup rgPetGender = findViewById(R.id.rg_gender);
rgPetGender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int id) {
                switch (id){
                    case R.id.rb_male:
                        Toast.makeText(SendPetActivity.this, "您点击了男", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.rb_female:
                        Toast.makeText(SendPetActivity.this, "您点击了女", Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值