RelativeLayout两个TextView以集中在按钮上

时间:2011-02-11 14:31:40

标签: android textview relativelayout

所以在我的布局中,我在同一条线上有两个按钮,一个左对齐,一个右对齐。我还在按钮上方有TextViews作为标签,但它们也分别左右对齐。我希望他们能够在按钮之上居中并且在彼此相同的线上,但我无法弄清楚如何在没有明确设置坐标的情况下执行此操作,这将在某些手机上中断。我尝试过设置各种权重和布局选项,但它根本不适用我喜欢的方式。有没有办法在RelativeLayout中执行此操作?或者也许这是不可能的。

提前致谢。

2 个答案:

答案 0 :(得分:2)

创建一个包含2列和2行的tablelayout。

使第一列和最后一列可收缩,中柱可拉伸。

|----|-------------------|-----|
|  1 |                   |  2  |
|----|-------------------|-----|
|  3 |                   |  4  |
|----|-------------------|-----|

将标签设置为1和2,将按钮设置为3和4。 然后将所有列内容居中。

答案 1 :(得分:2)

我刚试过两级RelativeLayers,这是输出: enter image description here

和代码:

<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>