​​​​

RadioButton从字面上就可以很清楚的知道它是单选按钮,它与RadioGroup配套时候。通常我们在开发中需要自定义RadioButton的样式,比如新浪的Tab页,性别选择等都需要自定义一些漂亮的样式。

1、我们如何定制呢?
      首先我们先把RadioButton默认的单选按钮去掉。      只需要设置RadioButton的android:button="@null"就可以了,@null就是把RadioButton默认的单选按钮去掉。

  2、给你给RadioButton添加上你已经准备好了的图片或,你可以选择在RadioButton的左边或者右边添加图片,根据项目需要。
         在按钮的左边添加图片
            android:drawableLeft="@drawable/male"

         在按钮的右边添加图片
          android:drawableRight="@drawable/radio_selector"

          按钮与描述文字之间的距离
           android:drawablePadding="10dip"

<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
androidrientation="vertical" >

<RadioButton
android:id="@+id/yj_rb_sex_male"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/radio_bg_selector"
android:button="@null"
android:drawableLeft="@drawable/male"
android:drawablePadding="10dip"
android:drawableRight="@drawable/radio_selector"
android:paddingBottom="10dip"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:paddingTop="10dip"
android:text="男"
android:textColor="#6D6D6D" />

<RadioButton
android:id="@+id/yj_rb_sex_female"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/radio_bg_selector"
android:button="@null"
android:drawableLeft="@drawable/female"
android:drawablePadding="10dip"
android:drawableRight="@drawable/radio_selector"
android:paddingBottom="10dip"
android:paddingLeft="20dip"
android:paddingRight="20dip"
android:paddingTop="10dip"
android:text="女"
android:textColor="#6D6D6D" />
</RadioGroup>

java代码如下


RadioGroup sexRroup = (RadioGroup) window.findViewById(R.id.radiogroup);
//设置单选按钮的选中事件
sexRroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
//这里做操作
}
});