0

我目前正在尝试修复我的 UI 以合并背景图像。我当前的显示器在一个 LinearLayout 中有 8 个按钮,它们垂直堆叠在一起。我想将其更改为缺少 1 个按钮的 3x3 网格,但将其与屏幕顶部隔开。

我想把它从屏幕顶部隔开的原因是图像中有作为标题的文本。这是我的布局现在看起来如何的示例...

在此处输入图像描述

标题在顶部的两个按钮后面。屏幕底部还有一些我想保留的图形。

这就是我想要复制的内容(对于我在 MS Paint 中制作的糟糕质量感到抱歉)

在此处输入图像描述

底部的Blah Blah Blah和 scribble 都是背景图像的一部分,因此它们不会在 XML 文件中表示。我的 XML 文件中唯一的东西需要是按钮,以及容纳它们的适当布局。有谁知道如何在布局上方/下方创建此间距?

4

2 回答 2

1

它很容易做到。使用 LinearLayout 和 layout_weight 属性。我在下面粘贴了一个示例代码,它给了我 3x2 视图。您可以根据自己的需要进行更改。

    <ScrollView
        style="@style/Fill"
        android:fillViewport="true" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical"
            android:padding="6dip" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/home_btn_feature1"
                    style="@style/HomeButton"
                    android:drawableTop="@drawable/home_button1"
                    android:onClick="onClick"
                    android:text="@string/title_feature1" />

                <Button
                    android:id="@+id/home_btn_feature2"
                    style="@style/HomeButton"
                    android:drawableTop="@drawable/home_button2"
                    android:onClick="onClick"
                    android:text="@string/title_feature2" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/home_btn_feature3"
                    style="@style/HomeButton"
                    android:drawableTop="@drawable/home_button3"
                    android:onClick="onClick"
                    android:text="@string/title_feature3" />

                <Button
                    android:id="@+id/home_btn_feature4"
                    style="@style/HomeButton"
                    android:drawableTop="@drawable/home_button4"
                    android:onClick="onClick"
                    android:text="@string/title_feature4" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="horizontal" >

                <Button
                    android:id="@+id/home_btn_feature5"
                    style="@style/HomeButton"
                    android:drawableTop="@drawable/home_button5"
                    android:onClick="onClick"
                    android:text="@string/title_feature5" />

                <Button
                    android:id="@+id/home_btn_feature6"
                    style="@style/HomeButton"
                    android:drawableTop="@drawable/home_button6"
                    android:onClick="onClick"
                    android:text="@string/title_feature6" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>
于 2012-12-13T19:25:56.970 回答
1

像这样可以工作,将其嵌套在现有布局中或使其成为父级并调整顶部 LL 的边距和背景以满足您的需要:

<LinearLayout android:layout_margin="30dp" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
    <LinearLayout android:layout_width="fill_parent" android:baselineAligned="false" android:layout_height="0dip" android:layout_weight="1" android:orientation="horizontal" >
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent" android:baselineAligned="false" android:layout_height="0dip" android:layout_weight="1" android:orientation="horizontal" >
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
    </LinearLayout>
    <LinearLayout android:layout_width="fill_parent" android:baselineAligned="false" android:layout_height="0dip" android:layout_weight="1" android:orientation="horizontal" >
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
        <Button android:layout_width="0dip" android:layout_height="fill_parent" android:layout_weight="1" />
    </LinearLayout>
</LinearLayout>
于 2012-12-13T19:27:33.737 回答