我想在 RadioGroup 旁边放一个文本,作为它的一种标签。所以 RadioGroup 中有两个带有文本的按钮,目前,我只能让顶部对齐,但这看起来很尴尬。我可以尝试将 TextView 排成一行,但这并不理想或容易。RadioGroup 和 TextView 位于 RelativeLayout 中,我尝试android:layout_alignBaseline
使用 RadioGroup 和其中一个 RadioButton 来设置 TextView,但 RadioGroup 似乎没有基线,而且我似乎无法获得基线来自 TextView 的 RadioButton。
问问题
6634 次
3 回答
2
这几天我遇到了同样的问题,我终于解决了。我尝试了所有想到的组合,最后我发现诀窍在于将 android:layout_weight 与 TextViews 上的值相同。这将它们对齐在 RadioButtons 的中心。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_marginLeft="15dip"
android:orientation="horizontal" >
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/radio_button"
android:paddingRight="15dip"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/radio_button"
android:paddingRight="15dip"
/>
</RadioGroup>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/cop_radiobutton_label"
android:layout_weight="1"
android:gravity="center_vertical"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/thief_radiobutton_label"
android:layout_weight="1"
android:gravity="center_vertical"/>
</LinearLayout>
</LinearLayout>
于 2012-09-05T19:13:30.360 回答
1
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width= "fill_parent"
android:layout_height= "50dip"
android:orientation="horizontal"
android:layout_gravity="center"
android:background="@drawable/squareback">
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/meleeRadio"
android:layout_width="150dip"
android:layout_height="40dip"
android:checked="false"
android:text="Melee Attack" android:textColor="@color/black" android:gravity="center" android:layout_gravity="center" android:layout_margin="5dip"/>
<RadioButton
android:id="@+id/rangeRadio"
android:layout_width="150dip"
android:layout_height="40dip"
android:text="Range Attack" android:textColor="@color/black" android:gravity="center" android:layout_gravity="center" android:layout_margin="5dip" android:checked="false"/>
</RadioGroup>
</LinearLayout>
为了对齐它们,我将它们放在我为其设置大小的 LinearLayout 中。然后我 android:layout_gravity="center" 将对齐项目的中心。因此,即使按钮和文本的大小不同,它们看起来也不错。
于 2012-04-20T18:02:02.850 回答
0
我有一个类似的问题:我需要将一些文本对齐到 RadioGroup 的中心,这将作为 3 个 RadioButtons 的标签。我通过将 textView 上的 android:layout_gravity 属性设置为中心来实现它。下面是代码片段:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Experience Level:"
android:layout_gravity="center"/>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Novice"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Intermidiate"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Advanced"/>
</RadioGroup>
</LinearLayout>
于 2018-01-11T12:20:52.733 回答