我正在Android上使用Phonegap开发应用程序。在操作系统2.1上一切正常,但在OS 2.2上,当我们点击任何输入类型的文本字段时,键盘出现,整个窗口移动到UP侧,输入类型字段变为不可见。任何人都能告诉我究竟是什么问题,可以用javascript解决吗?如何在Android 2.2上停止Windows大小调整功能?
我在Text Input on android phone is not in view when the keyboard for webview comes up?上也发现了同样的问题,但不是解决方案。
答案 0 :(得分:11)
添加此
android:windowSoftInputMode="adjustPan"
到您的AndroidManifest.xml将解决问题
答案 1 :(得分:6)
我尝试使用以下css属性,它在Android 2.2上为我工作
html,body {overflow:hidden;}
不确定它为什么有效,但它正在运作......
注意:我使用“iScroll”插件在我的应用程序中滚动。
答案 2 :(得分:2)
我从未使用过PhoneGap,但我去了他们的网站,我明白它仍然可以通过Eclipse和ADT工作;如果是这种情况,则可以通过AndroidManifest.xml
文件解决此问题,方法是将以下内容添加到调用软键盘的活动的<activity>
标记中:
<activity android:windowSoftInputMode="adjustNothing"
//other flags
/>
实际上情况似乎并非如此。我正在阅读的API文件实际上是针对Honeycomb的,这个标志不在2.2中。抱歉。我最近的所有工作都是在平板电脑上进行的,我忘记了自从我最近准备阅读以来,我为哪些版本的SDK添加了书签。
答案 3 :(得分:1)
您可能必须启用此脚本,以避免在文本输入字段获得焦点时滚动应用:)
function preventBehavior(e)
{
e.preventDefault();
};document.addEventListener("touchmove", preventBehavior, false);
答案 4 :(得分:0)
当在页面中有一个带有“transform”css属性的元素时(例如transform:translate3d(0px,0px,0px);),在Android 2.2上附加此行为 删除这些声明为我解决了问题。 (溢出:隐藏了,但你不能再滚动应用程序了)
PS:覆盖声明并不会令人不幸