RadioButton 单选按钮 控件的使用以及选中未选中的背景设置

本文详细介绍如何在Android中自定义RadioButton的样式,包括设置默认选中状态、文本颜色及大小,以及如何通过XML和Drawable资源文件实现按钮背景的自定义。此外,还介绍了如何在Java文件中设置监听事件,以便在选项改变时执行特定操作。
摘要由CSDN通过智能技术生成

#常用的属性
android:checked=“true” <–当有多个选择的时候,默认选中其中一个–>

<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="boy"
    android:checked="true"  <--默认选中-->
    android:textColor="#FF6600"
    android:textSize="18sp"
    />
<RadioButton
    android:id="@+id/rb_2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="girl"
    android:textColor="#FF6600"
    android:textSize="18sp"
    />

自定义的格式背景,设置button的属性值为空,并选择背景的颜色 如:这里的bg_btn5是资源文件下新建的 Drawable Resource file文件,命名为bg_btn5,根布局为selector 的这样的一个背景选择器

android:button="@null",            
android:background="@drawable/bg_btn5"

bg_btn5文件编写如下

<selector xmlns:android="http://schemas.android.com/apk/res/android">
	   <item
	       android:state_checked="true"    <--选中时-->
	       <shape>
	           <solid android:color="#FF6600"/>
	           <corners android:radius="5dp"/>
	       <shape>
           android:state_checked="false"    <--未选中时-->
		       <shape>
		           <solid android:color="#FF9900"/>
		           <corners android:radius="5dp"/>
		       <shape>

 <--------------------------或者自定义添加背景图片---------------------------------------->
  <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item
         android:state_checked="false"    <--未选中时-->
         android:drawable="@drawable/lala_false"<--自定义添加的图片-->
       />
    <item
          android:state_checked="true"   <--选中时-->
         android:drawable="@drawable/haha_true"<--自定义添加的图片-->	    
      />
</selector>

示例如下

<RadioGroup
    android:id="@+id/rg_2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_below="@+id/rg_1"
    android:layout_marginTop="30dp">
    <RadioButton
        android:id="@+id/rb_3"
        android:layout_width="60dp"
        android:layout_height="30dp"
        android:text="boy"
        android:gravity="center"
        android:button="@null"
        android:checked="true"
        android:textColor="#FFF"
        android:textSize="18sp"
        android:background="@drawable/bg_btn5"
        />
    <RadioButton
        android:id="@+id/rb_4"
        android:layout_width="60dp"
        android:layout_height="30dp"
        android:text="girl"
        android:gravity="center"
        android:button="@null"
        android:textColor="#999999"
        android:textSize="18sp"
        android:layout_marginLeft="10dp"
        android:background="@drawable/bg_btn5"
        />
  </RadioGroup>
</RadioGroup>

在Java文件中设置监听事件,例如当选中某一个选项时弹出一句话

mRg1=(RadioGroup)findViewById(R.id.rg_1);
mRg1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override 
 //设置check效果发生变化时的监听事件
public void onCheckedChanged(RadioGroup radioGroup, int i) {
    RadioButton radioButton=(RadioButton) radioGroup.findViewById(i);
    Toast.makeText(RadioButtonActivity.this,radioButton.getText(),Toast.LENGTH_SHORT).show();
}});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值