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"; } } });