当软键盘出现在Android设备上的文本字段上时,如何防止页面向上移动?

时间:2013-05-14 19:09:32

标签: android web-applications android-webview tablet

我正在开发一个网络应用程序,目前只不过是Javascript,HTML和CSS。我有一个靠近页面底部的文本框,当点击以显示Android上的软键盘时,它会在视口外部向上移动整个页面,以便在键盘上输入文本时可见。然而,之后,整个页面都向上移动,无法恢复到原来的位置。

这是所有客户端代码,因此如先前帖子中所建议的那样向XML添加任何属性似乎不可行。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Android键盘与iOS键盘的工作方式与javascript事件不同。将Android键盘视为向上滑动并挤压页面内容。当发生这种情况时,它通常会导致javascript' orientationchange'事件。如果你有一个javascript事件监听器,你将会做一些可能不需要的事情。解决此问题的一种方法是使用@media屏幕调整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'事件