单个RadioGroup中的多行单选按钮

时间:2014-08-01 07:00:28

标签: android android-layout radio-button

我需要在像this image这样的单一无线电组中创建像多行单选按钮一样的设计。

我正在使用android:orientation="horizontal"

layout.xml

 <RadioGroup
        android:id="@+id/radiogroup"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/option1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:singleLine="false"
            android:text="option1" />

        <RadioButton
            android:id="@+id/option2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:singleLine="false"
            android:text="option2" />

        <RadioButton
            android:id="@+id/option3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:singleLine="false"
            android:text="option3" />

        <RadioButton
            android:id="@+id/option4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:singleLine="false"
            android:text="option4" />

        <RadioButton
            android:id="@+id/option5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:singleLine="false"
            android:text="option5" />

        <RadioButton
            android:id="@+id/option6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:singleLine="false"
            android:text="option6" />
    </RadioGroup>

谢谢..

2 个答案:

答案 0 :(得分:0)

你想要实现的目标是可能的。 您必须子类化TableLayout并以编程方式添加单选按钮

这是链接

参考此MATRIX RADIO BUTTONS

对于屏幕宽度

Screen Width

答案 1 :(得分:0)

父级可以是线性水平或相对(我更喜欢线性水平),在3个TableRow子项内,在每个tableRow中你的RadioButtons。像这样的东西

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <RadioGroup>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Radio1"
            />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Radio2"/>
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Radio3"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio4"
                />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio5"/>
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio6"/>
        </LinearLayout>
    </RadioGroup>
</TableRow>
<TableRow android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <RadioGroup>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio1"
                />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio2"/>
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio3"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio4"
                />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio5"/>
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Radio6"/>
        </LinearLayout>
    </RadioGroup>
</TableRow>