1

我希望在屏幕上获得 4 个按钮。顶部有两个,底部有两个。这段代码以我想要的方式为我提供了顶部按钮。但是,当我将 layout_alignParentTop="true" 更改为 layout_alignParentBottom="true" 时,按钮保持在顶部。他们没有像预期的那样移动到底部。有任何想法吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout02" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_alignParentTop="true">
<Button 
    android:id="@+id/Button02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" android:text="test">
</Button>
<Button 
    android:id="@+id/Button03" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_weight="1" 
    android:text="test">
</Button>
</LinearLayout>
4

4 回答 4

1

因此,您应该创建父元素,<RelativeLayout>并在其创建两个<LinearLayouts>其中每个包含两个Button. 并将第一个布局对齐到顶部,您可以使用android:layout_alignParentTop="true"和对齐第二个到底部使用android:layout_alignParentBottom="true"

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#3B3B3B">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp"
        android:gravity="center_horizontal"
        android:layout_alignParentTop="true">

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"
            />

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp"
        android:gravity="center_horizontal"
        android:layout_alignParentBottom="true"
        >

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"
            />

        <Button 
            android:id="@+id/loginBtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
            android:text="Second"
            />
    </LinearLayout>
</RelativeLayout>
于 2012-06-05T20:21:15.303 回答
0

在线性布局上使用 android:layout_height="match_parent"

于 2012-06-05T20:03:32.727 回答
0

或者您可以使用带有 layoutBelow 和 layoutAbove 的相对布局。相对布局非常适合这种布局。

于 2012-06-05T20:05:25.057 回答
0

这里你的根布局是LinearLayout:

android:layout_alignParentTop is useless

将您的 LinearLayout 添加到 RelativeLayout 中,您将得到它的工作!

或者最好的方法是使用属性

android:layout_gravity

因此要在屏幕的按钮上显示按钮,您可以使用以下布局:

<?xml version="1.0" encoding="utf-8"?>

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/LinearLayout02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" >

        <Button
            android:id="@+id/Button02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="test" >
        </Button>

        <Button
            android:id="@+id/Button03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="test" >
        </Button>
    </LinearLayout>
于 2012-06-05T20:14:55.690 回答