所以在我的布局中,我在同一条线上有两个按钮,一个左对齐,一个右对齐。我还在按钮上方有TextViews作为标签,但它们也分别左右对齐。我希望他们能够在按钮之上居中并且在彼此相同的线上,但我无法弄清楚如何在没有明确设置坐标的情况下执行此操作,这将在某些手机上中断。我尝试过设置各种权重和布局选项,但它根本不适用我喜欢的方式。有没有办法在RelativeLayout中执行此操作?或者也许这是不可能的。
提前致谢。
答案 0 :(得分:2)
创建一个包含2列和2行的tablelayout。
使第一列和最后一列可收缩,中柱可拉伸。
|----|-------------------|-----|
| 1 | | 2 |
|----|-------------------|-----|
| 3 | | 4 |
|----|-------------------|-----|
将标签设置为1和2,将按钮设置为3和4。 然后将所有列内容居中。
答案 1 :(得分:2)
我刚试过两级RelativeLayers,这是输出:
和代码:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView2"
android:layout_centerHorizontal="true"
android:text="Label longer than the button" >
</TextView>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:text="Button short" >
</Button>
</RelativeLayout>
<RelativeLayout
android:id="@+id/relativeLayout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" >
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:text="Button some longer" >
</Button>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Test" >
</TextView>
</RelativeLayout>
</RelativeLayout>