2

所以在我的布局中,我在同一行上有三个按钮,一个左、中、右对齐。我在按钮下方也有 TextViews 作为标签,但它们也分别左对齐、居中和右对齐。我希望它们改为在按钮下方居中并且彼此位于同一行,但如果不明确设置坐标,我无法弄清楚如何做到这一点,这会在某些手机上中断。我尝试设置各种权重和布局选项,但它并不能如我所愿。有没有办法在相对布局中做到这一点?或者,也许这是不可能的。最后,我在同一行上多了三个 TextView,底部有一个按钮。我想对齐如下所示:

http://imgur.com/vYuqk

提前致谢。

4

2 回答 2

0

您不能使用 RelativeLayout 将一个元素置于另一个元素下方。您可以尝试使用三个相对布局(每列一个)的水平线性布局。您可以将整个内容包含在垂直 LinearLayout 中以获取底部按钮。

TableLayout 或 GridLayout 也是可能的。

于 2012-10-27T04:01:14.507 回答
0

View正如人们所建议的那样,没有办法ViewRelativeLayout. 如果您可以确认TextView宽度不需要大于宽度,则可以使用此技巧Button。解决方案是:您TextView将其左右边缘与Button上面对齐。然后将重力设置TextViewcenter使里面的文字TextView居中。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="130dp"
        android:text="Button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_centerHorizontal="true"
        android:text="Button2" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button2"
        android:layout_alignBottom="@+id/button2"
        android:layout_alignParentRight="true"
        android:text="Button3" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/button1"
        android:layout_alignRight="@id/button1"
        android:layout_below="@+id/button1"
        android:layout_marginTop="50dp"
        android:gravity="center"
        android:text="Txt1" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/button2"
        android:layout_alignRight="@id/button2"
        android:layout_below="@+id/button2"
        android:layout_marginTop="50dp"
        android:gravity="center"
        android:text="Txt2" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/button3"
        android:layout_alignRight="@id/button3"
        android:layout_below="@+id/button3"
        android:layout_marginTop="50dp"
        android:gravity="center"
        android:text="Txt3" />

</RelativeLayout>
于 2012-10-27T04:29:52.673 回答