Android 无线电组。一栏中的强制按钮?

Android RadioGroup. Forced buttons in one column?

我想要一个 RadioGroup,在两列中显示各种 RadioButtons。但似乎 RadioGroup 强制 RadioButtons 只显示在一列中。有没有办法让按钮显示在两列中?

例如,此 xml 代码会将四个按钮放在 square form 中,但在 RadioGroup 中它们都在 one column.

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <RadioButton
        android:id="@+id/radio1"
        android:text="Button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <RadioButton
        android:id="@+id/radio2"
        android:text="Button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="42dp"
        android:layout_marginEnd="42dp"
        android:layout_alignBottom="@+id/radio1"/>

    <RadioButton
        android:id="@+id/radio3"
        android:text="Button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/radio1"
        android:layout_alignLeft="@+id/radio1"
        android:layout_alignStart="@+id/radio1"
        android:layout_marginTop="34dp"/>

    <RadioButton
        android:id="@+id/radio4"
        android:text="Button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/radio3"
        android:layout_alignLeft="@+id/radio2"
        android:layout_alignStart="@+id/radio2"/>
</RadioGroup>

不能使用单选组在多列中显示单选按钮done.However这可以采用如下不同的方式。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1" />

        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="42dp"
            android:layout_marginRight="42dp"
            android:text="Button2" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <RadioButton
            android:id="@+id/radio3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button3" />

        <RadioButton
            android:id="@+id/radio4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button4" />

    </LinearLayout>
</LinearLayout>

为所有单选按钮设置 View.onClickListener 并在您的代码中处理设置 check/uncheck 状态。