RadioButton 自定义控件

在res/drawable新建radiobutton.xml(本案例为video——evaluate.xml)如下

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item  
         android:state_enabled="true" 
         android:state_checked="true"
         android:drawable="@drawable/comment_highlight" /> 
    <item               
         android:state_enabled="true"     
         android:state_checked="false"
         android:drawable="@drawable/comment_normail" />  

    <item               
         android:state_enabled="true"     
         android:state_checked="false"
         android:drawable="@drawable/comment_normail" /> 
    <item               
         android:state_enabled="true"     
         android:state_checked="false"
         android:drawable="@drawable/comment_normail" /> 
     
    <item               
         android:state_enabled="true"     
         android:state_checked="false"
         android:drawable="@drawable/comment_normail" /> 

</selector>

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f3f3f3"
    android:orientation="vertical" >

    <include layout="@layout/titlebar" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="15dp" 
        android:paddingLeft="10dp"
        android:text="对此次服务满意吗?"
        android:textColor="#2e2e2e"
        android:textSize="@dimen/text_size18sp" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="0.8dp"
        android:layout_marginTop="10dp"
        android:background="@color/expertlist_divider_color" />

    <RadioGroup
        android:id="@+id/evaluate_rg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="@color/white"
        android:paddingBottom="8dp"
        android:paddingTop="8dp" > 

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:paddingBottom="10dp"
            android:checked="true"
            android:text="非常满意"
            android:textSize="18sp"
            android:button="@drawable/video_evaluate" />

        <View
            android:layout_width="fill_parent"
            android:layout_height="0.3dp"
            android:layout_marginTop="10dp"
            android:background="@color/expertlist_divider_color" />

        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:text="满意"
            android:textSize="18sp"
            android:button="@drawable/video_evaluate" />

        <View
            android:layout_width="fill_parent"
            android:layout_height="0.3dp"
            android:layout_marginTop="10dp"
            android:background="@color/expertlist_divider_color" />

        <RadioButton
            android:id="@+id/radio3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:text="一般"
            android:textSize="18sp"
            android:button="@drawable/video_evaluate" />

        <View
            android:layout_width="fill_parent"
            android:layout_height="0.3dp"
            android:layout_marginTop="10dp"
            android:background="@color/expertlist_divider_color" />

        <RadioButton
            android:id="@+id/radio4"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:text="不满意"
            android:textSize="18sp"
            android:button="@drawable/video_evaluate" />

        <View
            android:layout_width="fill_parent"
            android:layout_height="0.3dp"
            android:layout_marginTop="10dp"
            android:background="@color/expertlist_divider_color" />

        <RadioButton
            android:id="@+id/radio5"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:text="非常不满意"
            android:textSize="18sp"
            android:button="@drawable/video_evaluate" />

        <View
            android:layout_width="fill_parent"
            android:layout_height="0.3dp"
            android:layout_marginTop="10dp"
            android:background="@color/expertlist_divider_color" />
    </RadioGroup>

    <Button
        android:id="@+id/bt_evaluate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:background="@drawable/expert_yuye_bg_selector"
        android:text="提交"
        android:textColor="@color/white"
        android:textSize="@dimen/text_size16sp" />

</LinearLayout>

效果,自己可以优化一下再:

原文地址:https://www.cnblogs.com/McCa/p/4522792.html