用什么容器来获得这样的布局?

时间:2011-07-09 17:20:21

标签: android android-layout

查看草图布局。

我需要在屏幕中间放置5个按钮并按此排列。我应该使用哪种容器元素 - TableLayoutRelativeLayout或第三种布局?

4 个答案:

答案 0 :(得分:2)

您可以使用相对布局

步骤1:创建第一个按钮,然后创建第二个按钮,将第二个按钮置于第一个按钮

步骤2:在第一个按钮

下面创建第三个按钮

步骤3:创建下面的第四个和第五个按钮到第三个按钮

答案 1 :(得分:2)

在这种情况下,我会使用类似的东西

<LinearLayout android:orientation="vertical" ....>
    <RelativeLayout ... >
        // place the buttons in the desired padding
    </RelativeLayout>
    <RelativeLayout ... >
        <Button ... android:layout_centerHorizontal="true" ... />
    </RelativeLayout>
    <RelativeLayout ... >
        // place the buttons in the desired padding
    </RelativeLayout>
</LinearLayout>

答案 2 :(得分:0)

我建议具有相对位置的元素(或绝对取决于它是否在容器中)

答案 3 :(得分:0)

因为看起来你总是希望它们像你所显示的行一样,但是不希望它们出现在列中,所以我不会去找TableLayout。 RelativeLayout很好。

或者,如何组合这样的布局?我只是掀起了这个问题(请参阅android:gravity属性以了解它是如何工作的):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent" android:gravity="center_vertical">
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal">
        <Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
        <Button android:text="Button" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout2" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal">
        <Button android:text="Button" android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout3" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal">
        <Button android:text="Button" android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
        <Button android:text="Button" android:id="@+id/button5" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    </LinearLayout>

</LinearLayout>