Android 2.2 Web View窗口在虚拟键盘出现时向上移动

问题描述:

我正在开发一个在Android上使用Phonegap的应用程序。一切工作正常在OS 2.1,但在OS 2.2上,当我们点击任何输入类型的文本字段的键盘出现,整个窗口移动到UP端和输入类型字段变得不可见。任何人都可以告诉我究竟是什么问题,并可以解决使用JavaScript?如何停止在Android 2.2上调整窗口大小的功能?Android 2.2 Web View窗口在虚拟键盘出现时向上移动

我在Text Input on android phone is not in view when the keyboard for webview comes up?上也发现了同样的问题,但不是解决方案。

我试图把下面的CSS属性,它是为我工作在Android 2.2

HTML,身体{溢出:隐藏;}

不知道为什么它是工作,但它的工作。 ..

注:我使用“iScroll”插件在我的应用程序中滚动。

+0

这对我来说非常合适,而且我没有使用iScroll。我的主要应用程序元素使用-webkit-box在主体中居中。 – incidentist 2011-07-27 22:34:53

+0

不适用于Android 4.3 – Nilesh 2013-09-11 09:17:03

您可能需要启用这个脚本,以避免您的应用程序的滚动,当你输入文本域获得焦点:)

function preventBehavior(e) 
{ 
    e.preventDefault(); 
};document.addEventListener("touchmove", preventBehavior, false); 
+0

工作。 – Bhupi 2011-02-24 07:57:00

我从来没有用过的PhoneGap,但我去他们的网站,我明白,它仍然通过Eclipse和ADT工作;如果是这样的话,那么这个问题可以通过AndroidManifest.xml文件中加入以下到您<activity>标记为被调用软键盘的活动来解决:

<activity android:windowSoftInputMode="adjustNothing" 
      //other flags 
/> 

其实这似乎并非如此。我正在阅读的API文件实际上是用于Honeycomb,这个标志不在2.2中。抱歉。我最近的所有工作都是在平板电脑上进行的,因为我最近一直在准备,所以我忘记了哪些版本的SDK已经加入了书签。

添加此

android:windowSoftInputMode="adjustPan" 

您在AndroidManifest.xml将解决这一问题

+0

对我来说adjustPan不会将输入滚动到视图中。 Android 4.3类似问题:http://*.com/questions/17483881/webview-does-not-pan-on-android-web-application-with-phonegap – Nilesh 2013-09-11 09:14:05

在Android 2.2追加了此行为时有在页一个元素与“改造”的CSS属性(如变换:translate3d(0px,0px,0px);) 删除这些声明为我解决了这个问题。 (溢出:隐藏还,但你不能再滚动的应用程序)

PS:overridding声明不通过点击文本框,什么都不会发生,虚拟键盘不会出现不幸