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”插件在我的应用程序中滚动。
您可能需要启用这个脚本,以避免您的应用程序的滚动,当你输入文本域获得焦点:)
function preventBehavior(e)
{
e.preventDefault();
};document.addEventListener("touchmove", preventBehavior, false);
工作。 – 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将解决这一问题
对我来说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声明不通过点击文本框,什么都不会发生,虚拟键盘不会出现不幸
这对我来说非常合适,而且我没有使用iScroll。我的主要应用程序元素使用-webkit-box在主体中居中。 – incidentist 2011-07-27 22:34:53
不适用于Android 4.3 – Nilesh 2013-09-11 09:17:03