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 状态。
我想要一个 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 状态。