以选中性别为例子:
效果:
布局文件:
<RadioGroup android:id="@+id/rg_sex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="45dip" android:orientation="vertical" > <RadioButton android:id="@+id/rb_man" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@drawable/radio_holo_light" android:text="男" android:textSize="@dimen/textsize_15" android:textColor="@color/black" /> <RadioButton android:id="@+id/rb_woman" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@drawable/radio_holo_light" android:text="女" android:textSize="@dimen/textsize_15" android:textColor="@color/black" /> RadioGroup>
在activity中的使用:
mRadioGroupSex = (RadioGroup) findViewById(R.id.rg_sex); mRadioButtonMan = (RadioButton) findViewById(R.id.rb_man); mRadioButtonWoman = (RadioButton) findViewById(R.id.rb_woman); sex = "男"; ((RadioButton)mRadioGroupSex.getChildAt(0)).setChecked(true);//默认选中 mRadioGroupSex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){ @Override public void onCheckedChanged(RadioGroup rg, int checkedId) { if(checkedId == mRadioButtonMan.getId()){ sex = "男"; }else if(checkedId == mRadioButtonWoman.getId()){ sex = "女"; }else{ sex = "男"; } } });
选中效果.xml:
radio_holo_light:
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/btn_radio_on_holo_light" /> <item android:state_checked="false" android:drawable="@drawable/btn_radio_off_holo_light" /> selector>btn_radio_on_holo_light
btn_radio_off_holo_light