我希望我的收音机按钮能让彼此变得更加舒适。
我希望将它们放在一个无线电组中,以为它会自动提供“如果这个被检查,其他的则自动取消选中”逻辑。
但是有一个无线电组:
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip">
<RadioGroup
android:id="@+id/radioEditList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<RadioButton
android:id="@+id/radioAlways"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="@string/editlist_radgrp_always" />
<RadioButton
android:id="@+id/radioNever"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/editlist_radgrp_never" />
<RadioButton
android:id="@+id/radioCostChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/editlist_radgrp_costchange" />
</RadioGroup>
</TableRow>
......看起来像这样:
没有RadioGroup:
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip">
<RadioButton
android:id="@+id/radioAlways"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="@string/editlist_radgrp_always" />
<RadioButton
android:id="@+id/radioNever"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/editlist_radgrp_never" />
<RadioButton
android:id="@+id/radioCostChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/editlist_radgrp_costchange" />
</TableRow>
......看起来更好:
......但仍然可怜,或者至少可悲,不够。
如何让你的单选按钮在一起碾压?
答案 0 :(得分:1)
您可以尝试将其全部放在
中LinearLayout
并为每个按钮指定权重。 像这样:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:id="@+id/tableRow6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
android:padding="5dip" >
<RadioButton
android:id="@+id/radioAlways"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="always" />
<RadioButton
android:id="@+id/radioNever"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:checked="true"
android:text="never" />
<RadioButton
android:id="@+id/radioCostChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="costchange" />
</TableRow>
答案 1 :(得分:0)
我能够以这种方式工作:
<RadioGroup
android:id="@+id/radioEditList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radioAlways"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="@string/editlist_radgrp_always" />
<RadioButton
android:id="@+id/radioNever"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/editlist_radgrp_never" />
<RadioButton
android:id="@+id/radioCostChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="@string/editlist_radgrp_costchange" />
</RadioGroup>
与我的第一次尝试的不同之处在于,现在在radiogroup声明后面有一个直角括号,并且一个orientation属性设置为水平。此外,不需要包含TableRow(事实上,它似乎搞砸了)。