【问题标题】:How do I prevent page from shifting up when soft keyboard appears over text field on Android device?当软键盘出现在 Android 设备上的文本字段上时,如何防止页面上移?
【发布时间】:2013-05-09 04:37:33
【问题描述】:

我正在开发一个网络应用程序,目前无非是 Javascript、HTML 和 CSS。我有一个靠近页面底部的文本框,当单击以在 Android 上调出软键盘时,它会将整个页面向上移动,在视口之外,以便在键盘上输入文本时可见。但是之后,整个页面保持向上移动,并且无法恢复到原来的位置。

这都是客户端代码,因此按照以前的帖子中的建议将任何属性添加到 XML 似乎并不可行。任何帮助表示赞赏。

【问题讨论】:

标签: android web-applications android-webview tablet


【解决方案1】:

在 javascript 事件方面,Android 键盘与 iOS 键盘的工作方式不同。将 Android 键盘视为向上滑动并挤压页面内容。发生这种情况时,它通常会导致 javascript 'orientationchange' 事件。如果您有一个 javascript 事件侦听器,您将做一些可能不想要的事情。解决此问题的一种方法是使用 @media screen 调整 CSS。

@media screen and (max-aspect-ratio: 13/9) {
   // Put your portrait settings here
}

@media screen and (min-aspect-ratio: 13/9) {
   // Put your landscape settings here
}

在 iOS 中,您可以认为键盘在页面顶部滑动不会导致“orientationchange”事件。

【讨论】:

    猜你喜欢
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 2020-05-21
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2018-08-21
    相关资源
    最近更新 更多