0

我已经水平放置了自定义单选按钮

<RadioGroup
            android:id="@+id/radioGroup1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+id/radio0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:layout_weight=".5"
                android:background="@drawable/yourbuttonbackground"
                android:button="@android:color/transparent"
                android:checked="true"
                android:gravity="center_horizontal"
                android:padding="5dp"
                android:text="Breakfast" />

            <RadioButton
                android:id="@+id/radio1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:layout_weight=".5"
                android:background="@drawable/yourbuttonbackground"
                android:button="@android:color/transparent"
                android:gravity="center_horizontal"
                android:padding="5dp"
                android:text="Lunch" />
        </RadioGroup>

        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="2dp"
            android:layout_weight=".5"
            android:background="@drawable/yourbuttonbackground"
            android:button="@android:color/transparent"
            android:gravity="center_horizontal"
            android:padding="5dp"
            android:text="Dinner" />
    </LinearLayout>

你的按钮背景.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@drawable/b"
        android:state_checked="true"
        android:state_pressed="true" />
    <item
        android:drawable="@drawable/a"
        android:state_pressed="true" />
    <item
        android:drawable="@drawable/a"
        android:state_checked="true" />
    <item
        android:drawable="@drawable/b" />
</selector>

b.xml

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners
        android:radius="5dp" />
    <solid
        android:color="#fff" />
    <stroke
        android:width="2dp"
        android:color="#555555" />
</shape>

一个.xml

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners
        android:radius="5dp" />
    <solid
        android:color="#fff" />
    <stroke
        android:width="2dp"
        android:color="#53aade" />
</shape>

我有一个有线错误::

  • 当我将上述功能用于单选按钮的垂直方向时....它工作得很好

  • 但是当我将它们水平放置时......它似乎不起作用

下面的快照将清楚地说明发生了什么,我们可以清楚地看到选择了 2 个按钮。我该如何解决这个问题

在此处输入图像描述

4

1 回答 1

2

您的最后一个 RadioButton 在您的 RadioGroup 之外,它应该在里面。

于 2013-10-05T02:07:10.603 回答