键盘打开时,Android会向上移动页脚

时间:2016-06-22 13:38:01

标签: android html css webview

我正在设计一个加载到Android WebView的登录html页面。 有两个文本区域和一个“登录”按钮固定在页面底部。我的问题是当人输入文本区域时;键盘弹出并隐藏登录按钮。

如何将“登录”按钮固定在页面底部但固定在键盘顶部?

我试过了:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

并且

android:windowSoftInputMode="adjustPan|adjustResize"

两者都没有区别。

2 个答案:

答案 0 :(得分:0)

您需要做的是将按钮放在RelativeLayout内,然后给它以下属性:

android:layout_alignParentBottom="true"

当屏幕调整键盘大小时,按钮会被键盘向上推,因为RelativeLayout会调整剩余的屏幕空间。

这是一个完整的工作代码示例,只有一个按钮:

<!--Parent view-->
<RelativeLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!--Login Button-->
    <Button
        android:id="@+id/btnLogin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />
</RelativeLayout>

修改

要将元素固定到网页中页面的底部,您需要对html / css进行以下修改。

.login-button {
    position: fixed;
    bottom: 0;
    width: 100%;
}

按钮文字

答案 1 :(得分:0)

我知道我回答这个问题有点晚了(5 年),但我刚刚遇到了这个问题,并想在这里抛出我的解决方案,以防其他人仍在寻找答案。 .. 这更像是一个 HTML/CSS 问题,我通过将页脚包装在容器中并使用以下 CSS 来解决它

.container {
  position: relative;
},

.footer {
  width: 100%;
  position: absolute;
  bottom: 0;
}