将按钮对齐到屏幕底部

时间:2013-12-21 22:41:30

标签: android android-layout

我看过很多答案而没有找到一个不是解决办法的答案。所以,请原谅我是否已经被要求和回答。

我想要RelativeLayout显示在屏幕底部,无论RelativeLayout及其上方的内容大小如何。这可以按设计工作(Relative低于Relative)吗?如果是这样,请告诉我我做错了什么。

注意:我删除了大部分内容,这使得第一个RelativeLayout必须是RelativeLayout并且第二个RelativeLayout通常是<include...的原因显而易见我在其他地方使用并明确地放入这个例子。

感谢。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/enter_Game_Name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_horizontal"
        android:hint="Enter Game Name"
        android:inputType="text" />
</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:layout_alignParentBottom="true" >

    <Button
        android:id="@+id/d_cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="@android:string/cancel" />
</RelativeLayout>

这就是我得到的......

enter image description here

2 个答案:

答案 0 :(得分:1)

在您的第二个 RelativeLayout 中,您有android:layout_alignParentBottom="true",此属性将无效,因为父级是 LinearLayout ,此属性不起作用且没有效果,让你的父布局RelativeLayout而不是LinearLayout并删除Orientation属性,因为它没有任何效果,然后你将获得屏幕底部的按钮,无论屏幕的大小和按钮<上方的布局/强>

答案 1 :(得分:0)

您的父级布局是线性布局。使其成为相对布局。然后将两个视图(编辑文本和按钮)放入其中,并设置一个对齐顶部,一个对齐底部。

您的代码看起来像这样(未经过测试)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


<EditText
        android:id="@+id/enter_Game_Name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="fill_horizontal"
        android:hint="Enter Game Name"
android:layout_alignParentTop="true"

        android:inputType="text" />

<Button
        android:id="@+id/d_cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="@android:string/cancel" />
</RelativeLayout>