通过checkradio对齐单选按钮

时间:2015-02-06 09:05:21

标签: android android-radiogroup android-radiobutton

我在一个低于另一个的放射线组内使用两个单选按钮。上面的按钮有文字"到"而另一个人来自"来自"。我想要的是两者都将在中心,但他们将通过他们的checkradio对齐。我试过这个:

<RadioGroup
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/rgroup_pk"
                android:gravity="center">

                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbtn_to"
                    android:text="@string/title_to"
                    android:checked="true"
                    android:gravity="center|center_vertical" />


                <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/rbtn_from"
                    android:text="@string/title_from"
                    android:gravity="center|center_vertical" />

            </RadioGroup>

这使按钮保持在垂直和水平中心,但由于它们的文字大小不同,所以它显示的是(如果&#34; x&#34;是检查区):

                   X to
                  X from

我想要的是这个:

                   x to
                   x from

2 个答案:

答案 0 :(得分:0)

将RadioButtons包含在RelativeLayout中。

    <RadioGroup
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/rgroup_pk"
        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_to"
                 android:text="TO"
                 android:checked="true"/>

            <RadioButton
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:id="@+id/rbtn_from"
                 android:text="FROM"
                 android:layout_below="@+id/rbtn_to"/>
        </RelativeLayout>
    </RadioGroup>

注意android:layout_below="@+id/rbtn_to"。顾名思义,这将第二个RadioButton放在第一个下方,而不是像RelativeLayout那样重叠。

答案 1 :(得分:0)

Use this code using RelativeLayout.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
 >

<RadioGroup
    android:id="@+id/rgroup_pk"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true" >

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

    <RadioButton
        android:id="@+id/rbtn_from"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="HIIIIIIIIII" />
</RadioGroup>

</RelativeLayout>