在drawable文件夹下新建my_radiob_button_check.xml
,里面的内容
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/ic_not_check" />
<item android:state_checked="true" android:drawable="@drawable/ic_check_mark" />
</selector>
注意事项
1.里面的内容必须是<item android:state_checked="false" android:drawable="@drawable/ic_not_check" />
使用比如是图片默认引用方式<item android:drawable="@drawable/ic_not_check" />
是可以点击按钮,但是背景图片不会改变,默认不选择。
xml文件中引用
<RadioGroup
android:id="@+id/rg_sex"
android:layout_gravity="center"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="@dimen/text_dimens_14"
android:textColor="@color/tv_bold_color"
android:layout_marginLeft="@dimen/space_dimens_25"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
<RadioButton
android:id="@+id/rb_women"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:layout_marginLeft="@dimen/bb_default_elevation"
android:layout_marginStart="@dimen/bb_default_elevation"
android:drawableLeft="@drawable/my_radiobutton_not_check"
android:drawableStart="@drawable/my_radiobutton_not_check"
android:button="@null" />
<TextView
android:textSize="@dimen/text_dimens_14"
android:textColor="@color/tv_bold_color"
android:layout_marginLeft="@dimen/space_dimens_25"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男" />
<RadioButton
android:id="@+id/rb_men"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/bb_default_elevation"
android:layout_marginStart="@dimen/bb_default_elevation"
android:drawableLeft="@drawable/my_radiobutton_not_check"
android:drawableStart="@drawable/my_radiobutton_not_check"
android:button="@null" />
</RadioGroup>
activity使用
public class UserInfoActivity extends BaseActivity implements RadioGroup.OnCheckedChangeListener {
@BindView(R.id.rg_sex)
RadioGroup rgSex;
@Override
protected int getLayoutView() {
return R.layout.activity_user_info2;
}
@Override
protected void setUpView() {
super.setUpView();
initEvent();
}
private void initEvent() {
rgSex.setOnCheckedChangeListener(this);
}
//选择性别
@Override
public void onCheckedChanged(RadioGroup radioGroup, @IdRes int checkedId) {
switch (checkedId) {
case R.id.rb_women:
ToastUtils.showShort("女");
break;
case R.id.rb_men:
ToastUtils.showShort("男");
break;
default:
break;
}
}
}