水平单选按钮的大量分布

时间:2013-05-17 17:08:00

标签: android layout radio-button

我在一行中有3个RadioButton(linearLayout)。我想在行中正确分发它们,而不是将它们全部对齐到左边,就像在this screenshot中一样。

目前它显示如下:

enter image description here

XML:

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:layout_below="@+id/linearLayout2"
            android:layout_alignLeft="@+id/linearLayout2" android:id="@+id/linearLayout3">
        <RadioGroup
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:orientation="horizontal">
            <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Yes"
                    android:id="@+id/radioButton3" android:layout_gravity="center_horizontal|top" android:checked="false"/>
            <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Maybe"
                    android:id="@+id/radioButton" android:layout_gravity="center_horizontal|top" android:checked="true"/>
            <RadioButton
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="No"
                    android:id="@+id/radioButton2" android:checked="false"/>
        </RadioGroup>
    </LinearLayout>

经典按钮可以0dpsee here),但RadioButtons在此设置下是不可见的。

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:5)

试试这个

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/linearLayout2"
    android:layout_below="@+id/linearLayout2" >
    <RadioGroup
            android:layout_width="fill_parent"
            android:weightSum="3"
            android:layout_height="fill_parent" android:orientation="horizontal">
        <RadioButton
                android:layout_width="fill_parent"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:text="Yes"
                android:id="@+id/radioButton3" android:checked="false"/>
        <RadioButton
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Maybe"
                  android:layout_weight="1"
                android:id="@+id/radioButton" android:checked="true"/>
        <RadioButton
                android:layout_width="fill_parent"
                  android:layout_weight="1"
                android:layout_height="wrap_content"
                android:text="No"
                android:id="@+id/radioButton2" android:checked="false"/>
    </RadioGroup>
</LinearLayout>

答案 1 :(得分:1)

然后你必须在单选按钮上使用布局权重: -

android:layout_weight beginner's question

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_below="@+id/linearLayout2"
        android:layout_alignLeft="@+id/linearLayout2" android:id="@+id/linearLayout3">
    <RadioGroup
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:orientation="horizontal">
        <RadioButton
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Yes"
                android:id="@+id/radioButton3" android:layout_gravity="center_horizontal|top" android:checked="false"/>
        <RadioButton
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Maybe"
                android:id="@+id/radioButton" android:layout_gravity="center_horizontal|top" android:checked="true"/>
        <RadioButton
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="No"
                android:id="@+id/radioButton2" android:checked="false"/>
    </RadioGroup>
</LinearLayout>