如何在Android上个性化RadioButton?

时间:2014-03-16 11:10:01

标签: android xml mobile android-widget radio-button

我有一个这样的表格:

Image

使用代码:

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="570dp"
    android:layout_marginTop="160dp" >

        <RadioButton
            android:id="@+id/button_service"
            style="@style/type_action"
            android:text="@string/service" />

        <RadioButton
            android:id="@+id/button_reception"
            style="@style/type_action"
            android:layout_alignLeft="@id/button_service"
            android:layout_alignTop="@id/button_service"
            android:layout_marginTop="10dp"
            android:text="@string/defense" />

        <RadioButton
            android:id="@+id/button_passe"
            style="@style/type_action"
            android:layout_alignLeft="@id/button_service"
            android:layout_alignTop="@id/button_reception"
            android:layout_marginTop="10dp"
            android:text="@string/passe" />

         <RadioButton
            android:id="@+id/button_attaque"
            style="@style/type_action"
            android:layout_alignLeft="@id/button_service"
            android:layout_alignTop="@id/button_passe"
            android:layout_marginTop="10dp"
            android:text="@string/attaque" />

         <RadioButton
            android:id="@+id/button_bloc"
            style="@style/type_action"
            android:layout_alignLeft="@id/button_service"
            android:layout_alignTop="@id/button_attaque"
            android:layout_marginTop="10dp"
            android:text="@string/bloc" />

         <RadioButton
            android:id="@+id/button_faute"
            style="@style/type_action"
            android:layout_alignLeft="@id/button_service"
            android:layout_alignTop="@id/button_bloc"
            android:layout_marginTop="10dp"
            android:text="@string/faute" />
</RadioGroup>

和style.xml

<style name="type_action">
    <item name="android:textSize">30sp</item>
    <item name="android:textColor">#EEEEEE</item>
    <item name="android:background">#000000</item>
    <item name="android:textStyle">bold</item>
    <item name="android:layout_width">200dp</item>
    <item name="android:layout_height">50dp</item>
    <item name="android:gravity">center</item>      
</style>

我想删除按钮上的默认图标。 我希望不是那样,当选中一个按钮时,它会突然变为黄色,例如。

我该怎么做?

感谢您的帮助(抱歉我的英语不好)。

1 个答案:

答案 0 :(得分:0)

  

我希望而不是那样,当选中一个按钮时,就是这样   例如,以黄色突出显示。

您可以为单选按钮定义自己的radiobutton_selector.xml:

<?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/unchecked" />
        <item android:state_checked="false" android:drawable="@drawable/checked" />
    </selector>

然后将其设置为RadioButton,如

<RadioButton
            android:id="@+id/button_faute"
            android:button="@drawable/radiobutton_selector"
            style="@style/type_action"
            android:layout_alignLeft="@id/button_service"
            android:layout_alignTop="@id/button_bloc"
            android:layout_marginTop="10dp"
            android:text="@string/faute" />

<强> //修改

我也发现这个tutorialtutorial1有完整的源代码,可以根据需要自定义单选按钮:P