不使用RelativeLayout将元素附加到屏幕底部

时间:2012-04-04 16:59:12

标签: android android-layout

说我想列出按钮,以便最后一个按钮固定在屏幕的底部,我该怎么做呢。从我的理解,LinearLayout将给我按钮的“列表”,但它将锚定到顶部。另一方面,RelativeLayout将允许我锚定到底部,但每个元素都必须具有对下一个元素的引用,并且XML文件将以相反的顺序(以便引用有效)。

我该如何处理?

编辑:道歉,这将是我想要的 -

screenshot

2 个答案:

答案 0 :(得分:2)

您可以尝试添加权重为1的额外LinearLayout以占用所有剩余空间,并将按钮列表推送到活动的底部:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/widget32"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="fill_parent"
    android:layout_height="0dp"
android:layout_weight="1">
</LinearLayout>
<Button
    android:id="@+id/widget33"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
</LinearLayout>

示例XML用于单个按钮,由LinearLayout推送到Activity的底部;根布局也是线性的。

答案 1 :(得分:1)

我很难完全理解你的问题。 但我认为你想要的是一个水平的按钮列表,它固定在屏幕的底部?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <!-- put your other views in here -->

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/button_cancel"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:padding="5dp"
            android:text="cancel" />

        <Button
            android:id="@+id/button_ok"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:padding="5dp"
            android:text="ok" />
    </LinearLayout>
</LinearLayout>