1

我正在尝试在水平和垂直中心创建一个带有两个单选按钮的 RadioGroup。但我也希望它们通过收音机保持对齐,因为它们的文本长度不同。我使用了这段代码,但它们并不相互排斥:

      <RadioGroup
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center">

            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center|center_vertical">

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbtn_gps_to"
                    android:text="to"
                    android:checked="true"
                    />


                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbtn_gps_from"
                    android:text="from"
                    android:layout_below="@+id/rbtn_gps_to"
                    />


            </RelativeLayout>


        </RadioGroup>

它有效,两者都按我的意愿对齐,但问题是当我检查一个然后我检查另一个时,第一个也保持选中,所以它们不是排他性的。当我删除相对布局时,单选按钮是独占的。有什么方法可以创建我想要的布局并且单选按钮仍然是独占的?

4

3 回答 3

2

以前的答案包含一些问题。要选择的点不在一列中,它们未对齐。这是看起来与您的相同的解决方案。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    <RadioGroup
            android:layout_width=" wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:orientation="vertical">
        <RadioButton android:id="@+id/rbtn_gps_to"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="to"/>
        <RadioButton android:id="@+id/rbtn_gps_from"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="from"/>
    </RadioGroup>
</RelativeLayout>
于 2015-02-10T09:18:54.440 回答
0

嗨使用以下内容:

<RadioGroup
    android:id="@+id/radio_group_1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"

    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <RadioButton

        android:id="@+id/rbtn_gps_from"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="20dp"
        android:text="from" />

    <RadioButton
        android:id="@+id/rbtn_gps_to"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="20dp"
        android:text="to" />
</RadioGroup>
于 2015-02-10T09:12:50.037 回答
0

是的,您可以通过将 radioGroup 的 xml 属性设置为垂直来进行所需的布局。

 <RadioGroup
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:gravity="center">

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/rbtn_gps_to"
                android:text="to"
                android:checked="true"
                />


            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/rbtn_gps_from"
                android:text="from"

                />

    </RadioGroup>
于 2015-02-10T09:15:55.650 回答