android单选按钮RadioGroup的详细使用

1、首先写一下xml语句

android:button=@null;//将默认的button图片清空

android:drawableLeft=@drawable/radiobutton;//使用该属性定义button图片

android:background=@null;//将radioButton的背景设为空

android:drawablePadding=6dp;//将文字和左侧的button图片相距6dp

button/drawableLeft/background/drawablePadding结合使用方可改变文字和图片的距离 ;

可以将一下信息写到style中,这里直接调用style内容

<RadioGroup
    android:id="@+id/loan_group"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="match_parent"
    android:layout_centerVertical="true"
    android:layout_marginLeft="10dp"
    android:gravity="center_vertical"
    android:orientation="horizontal">
    <RadioButton
        android:id="@+id/interest_price_radio"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:button="@null"
        android:drawablePadding="5dp"
        android:textSize="@dimen/text_size_14"
        android:textColor="@color/gray_font"
        android:checked="true"
        android:drawableLeft="@drawable/radio_select"
        android:text="@string/equal_amount" />
    <RadioButton
        android:id="@+id/prin_price_radio"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:button="@null"
        android:textSize="@dimen/text_size_14"
        android:layout_marginLeft="15dp"
        android:drawablePadding="5dp"
        android:textColor="@color/gray_font"
        android:drawableLeft="@drawable/radio_select"
        android:text="@string/equal_principal" />
RadioGroup>
2、为了更方便的变化图片,需要写一个xml来变换,文件名为radio_select.xml

xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/service_loan_select"/>
    <item android:state_checked="false"  android:drawable="@drawable/service_loan_select_no"/>
selector>
3、开始定义android中的代码文件

loan_group=view.findViewById(R.id.loan_group);
interest_price_radio=view.findViewById(R.id.interest_price_radio);
prin_price_radio=view.findViewById(R.id.prin_price_radio);
loan_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup Group, int Checkid) {
//判断是否被选中
 if (interest_price_radio.isChecked()){
            interest_price_radio.setChecked(true);
            loanResult="0";
        }
        if (prin_price_radio.isChecked()){
            prin_price_radio.setChecked(true);
            loanResult="1";
        }
    }
});

你可能感兴趣的:(Android)