【问题标题】:How to set button always in bottom layout android如何始终在底部布局android中设置按钮
【发布时间】:2015-02-02 18:33:48
【问题描述】:

我有一个寄存器布局,我想始终将按钮设置在底部,但是当我单击其中一个文本字段时,按钮不在最后一个元素/文本字段下方,而是在文本字段上方。我打算做一个相对的,如果没有出现键盘,就会出现如图所示,文本域和按钮之间有一个空格,但是当键盘出现时,我打算消除空格。

这是我的布局 xml:

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

    <LinearLayout
        android:id="@+id/login_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <include layout="@layout/padding" />

        <EditText
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textEmailAddress"
            android:ems="10"
            android:id="@+id/editText"
            android:layout_gravity="center_horizontal"
            android:hint="Email Address"/>

        <EditText
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            android:ems="10"
            android:id="@+id/editText2"
            android:layout_gravity="center_horizontal"
            android:hint="Password"/>

        <EditText
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text"
            android:ems="10"
            android:id="@+id/editText3"
            android:layout_gravity="center_horizontal"
            android:hint="First Name"/>

        <EditText
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="text"
            android:ems="10"
            android:id="@+id/editText4"
            android:layout_gravity="center_horizontal"
            android:hint="Last Name"/>

        <EditText
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="20dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="phone"
            android:ems="10"
            android:id="@+id/editText5"
            android:layout_gravity="center_horizontal"
            android:hint="Phone"/>

    </LinearLayout>

    <TextView
        android:id="@+id/forgottext"
        android:layout_below="@+id/login_layout"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Forgot?"
        android:autoLink="web"
        android:layout_alignParentRight="true"/>

    <com.gc.materialdesign.views.ButtonRectangle
        android:id="@+id/login_bt"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:text="Sign Up"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:background="@color/material_deep_teal_500"
        android:layout_weight="1"
        android:layout_gravity="bottom"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10dp"/>

</RelativeLayout>

【问题讨论】:

  • 使用线性布局代替 RL。 schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > ///......///// LinearLayout> 并在清单中设置 android:windowSoftInputMode="stateHidden|adjustPan"
  • 谢谢,但我需要滚动,但这很有用,所以我只添加了adjustResize|stateHidden。谢谢:)

标签: android android-layout


【解决方案1】:

使用两个布局制作一个 LinearLayout(1. 带有所有 editViews 的布局,2. 按钮)。给主LinearLayout

android:layout_weight="1"

和内部布局

android:layout_weight="1"

两个内部都应该是match_parent,那么你的按钮总是在底部(即使显示键盘)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多