问题描述
- 如何不借助LinearLayout,让TextView和RadioGroup对齐(图片已补充)
-
初学Android,在做一个布局有一点小的疑问。现在程序中只用了一个相对布局,其中有一个TextView和一个RadioGroup(Group里面还有两个RadioButton),但是在设置对齐的时候,RadioGroup总是在TextView偏下方,就像图片里显示的那样。
我想知道,除了百度说的——把他们俩放进一个线性布局,再将整个布局垂直居中,还有没有别的方法?另外,有一种属性叫做AlignBaseLine,这个所谓的基线(BaseLine)是在View控件的什么位置?居中?底部?
<TextView android:id="@+id/tv_sex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tv_birthday" android:layout_marginTop="20dp" android:text="@string/tv_sex" android:textAppearance="?android:attr/textAppearanceMedium" /> <RadioGroup android:id="@+id/rg_sex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/tv_sex" android:layout_toEndOf="@id/tv_sex" android:layout_toRightOf="@id/tv_sex" android:orientation="horizontal" > <RadioButton android:id="@+id/rb_sex_man" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/rb_sex_man" /> <RadioButton android:id="@+id/rb_sex_woman" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/rb_sex_woman" /> </RadioGroup>
解决方案
你好,我也遇到了同样的问题,用layout_alignBottom对齐后得到的结果是
请问你有没有找到其他的对齐方式?
解决方案二:
将TextView和RadioGroup放在TabRow里面,设置TabRow的gravity属性为center_vertical。
<TableRow
android:gravity="center_vertical" >
<TextView
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1.0"
android:text="性别" />
<RadioGroup
android:id="@+id/sex"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_weight="3.0"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/sex_man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男" />
<RadioButton
android:id="@+id/sex_woman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
</TableRow>
时间: 2024-11-26 18:32:59