从屏幕顶部展开TableLayout

时间:2012-12-13 19:19:54

标签: android xml layout

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

我想从屏幕顶部分隔它的原因是图像中有文字作为标题。这是我的布局现在看起来的一个例子......

enter image description here

标题在前两个按钮后面运行。屏幕底部还有图形,我想保持免费。

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

enter image description here

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

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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>