shi*_*edi 6 android radio-group radio-button android-layout

我尝试在 2 行的一个 Radio 组中设置 4 个单选按钮,但问题是当我采用水平方向的线性布局时,无线电组功能不起作用。所有单选按钮选择 。一次只能选择一个按钮。
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/r1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/lbl1" />
<RadioButton
android:id="@+id/r2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/lbl2" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/r3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/lbl3" />
<RadioButton
android:id="@+id/r4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/lbl4" />
</LinearLayout>
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
RadioGroup 目前不允许嵌套布局。(有关更多详细信息,请参阅 AOSP 问题 #8952)
因此,RadioButton 必须是父 RadioGroup 的直接子级。
既然如此,并注意到 RadioGroup 扩展了 LinearLayout,我认为您必须在一行或一列中列出所有单选按钮。
顺便说一句,没有什么可以阻止您创建自己的 RadioGroup 版本,该版本是从更灵活的东西(如relativelayout)扩展而来的。您可以从 RadioGroup 中的代码开始,并对其进行调整以满足您的需求。
小智 0
我不知道您是否还需要其他选择,但您可以使用以下命令“强制”第二行:
这是一个例子:
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/Rgroup">
<RadioButton
android:id="@+id/r1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lbl1" />
<RadioButton
android:id="@+id/r2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lbl2" />
<RadioButton
android:id="@+id/r3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="-180dp"
android:layout_marginTop="40dp"
android:text="@string/lbl3" />
<RadioButton
android:id="@+id/r4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginTop="40dp"
android:text="@string/lbl4" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5030 次 |
| 最近记录: |