以文本视图为中心的RelativeLayout三个按钮

时间:2012-10-27 03:22:10

标签: android button alignment textview

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

http://imgur.com/vYuqk

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

TableLayout或GridLayout也是可能的。

答案 1 :(得分:0)

正如人们所建议的那样,View无法将View置于RelativeLayout的另一TextView之下。如果您可以确认Button宽度不必超过TextView宽度,则可以使用此hack。解决方案是:您将Button左右边缘对齐到上面的TextView。然后将center的重力设置为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> 内的文字居中。

{{1}}