LinearLayout位于屏幕的顶部和底部

时间:2011-09-24 12:15:11

标签: android android-layout android-linearlayout

我在一个LinearLayouts内有两个不同的LinearLayout,我希望第一个布局位于顶部,第二个布局位于底部。我尝试使用android:gravity="top",但它没有用。这是我的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="center">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:gravity="top">
    <ImageView android:layout_height="wrap_content" android:id="@+id/imageView1"
        android:src="@drawable/icon" android:layout_width="wrap_content"></ImageView>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TableRow android:weightSum="2">
            <Button android:text="Button" android:id="@+id/button2"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
            <Button android:text="Button" android:id="@+id/button1"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
        </TableRow>
        <TableRow android:weightSum="2">
            <Button android:text="Button" android:id="@+id/button3"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
            <Button android:text="Button" android:id="@+id/button4"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
        </TableRow>
    </TableLayout>
</LinearLayout>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:gravity="bottom">
    <ImageView android:layout_height="wrap_content" android:id="@+id/imageView1"
        android:src="@drawable/icon" android:layout_width="wrap_content"></ImageView>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TableRow android:weightSum="2">
            <Button android:text="Button" android:id="@+id/button2"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
            <Button android:text="Button" android:id="@+id/button1"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
        </TableRow>
        <TableRow android:weightSum="2">
            <Button android:text="Button" android:id="@+id/button3"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
            <Button android:text="Button" android:id="@+id/button4"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:layout_weight="1"></Button>
        </TableRow>
    </TableLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:3)

你可以简单地添加:

<LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:layout_weight="1" />
在您的顶部和底部LinearLayout之间

(并从父容器中移除重力)。

答案 1 :(得分:2)

将您的父级布局更改为RelativeLayout而不是LinearLayout

用于子布局中的父布局集的顶部

android:layout_alignParentTop="true"

以及子布局中后面的父布局集的底部

android:layout_alignParentBottom="true"