自定义RadioButton 实现性别选择效果,通过自定义RadioButton背景来完成。
自定义矩形边框背景
res/drawable/bg_radio_button_normal.xml 正常状态背景
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 内部颜色 -->
<solid
android:color="@android:color/white" />
<!-- 边缘线条颜色 -->
<stroke
android:width="1dp"
android:color="@android:color/darker_gray" />
<!-- 圆角的幅度 -->
<corners
android:topLeftRadius="0dip"
android:topRightRadius="0dip"
android:bottomLeftRadius="0dip"
android:bottomRightRadius="0dip" />
</shape>
res/drawable/bg_radio_button_checked.xml 选中状态背景
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 内部颜色 -->
<solid
android:color="@android:color/white" />
<!-- 边缘线条颜色 -->
<stroke
android:width="1dp"
android:color="@color/colorPrimary" />
<!-- 圆角的幅度 -->
<corners
android:topLeftRadius="0dip"
android:topRightRadius="0dip"
android:bottomLeftRadius="0dip"
android:bottomRightRadius="0dip" />
</shape>
res/drawable/bg_radio_button.xml Selector
<?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/bg_radio_button_checked"/>
<item android:state_focused="true" android:drawable="@drawable/bg_radio_button_checked"/>
<item android:drawable="@drawable/bg_radio_button_normal"/>
</selector>
定义字体颜色
res/drawable/radio_button_text_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/colorPrimary"/>
<item android:state_focused="true" android:color="@color/colorPrimary"/>
<item android:color="@android:color/darker_gray"/>
</selector>
使用
<RadioButton
android:id="@+id/rb_male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_radio_button"
android:button="@null"
android:text="Male" />
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。