我使用2.9.0版本的Phonegap,我想要的是,当键盘出现我的WebView收缩像在
Android手机应用程序中完成.我的页脚和头部元素处于固定位置,当键盘打开时会导致故障(页脚和插头松动固定位置状态).
我认为KeyboardShrinksView设置可以修复,根据phonegap文档:http://docs.phonegap.com/en/2.9.0rc1/guide_project-settings_ios_index.md.html#Project%20Settings%20for%20iOS
但是很多尝试我无法使其工作,WebView不缩小.
我在想,也许这可能来自我的config.xml中设置的其他首选项之间的冲突:
config.xml中
<gap:platform name="ios" /> <gap:platform name="android" /> <preference name="fullscreen" value="false" /> <preference name="webviewbounce" value="false" /> <preference name="orientation" value="portrait" /> <preference name="KeyboardShrinksView" value="true" />
或者也许它可以来自Meta标签定义,特别是viewport:
的index.html
<Meta name="apple-mobile-web-app-capable" content="yes"> <Meta name="apple-mobile-web-app-status-bar-style" content="black"> <Meta name="viewport" content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height" />
你知道为什么它不工作吗?或者你有解决办法吗?
编辑:我看到当KeyboardShrinksView = true时,它会改变一些东西,但是当键盘打开时,它的内容(包括我的页脚和字段)的底部,而不是调整我的整个内容的大小.我期望它将我的页脚放在键盘的顶部,对不对?
感谢您的帮助
解决方法
是的 – 这是一个痛苦的处理,现在.目前,没有什么真正的解决方案来制作像以前在iOS中的东西.就个人而言,我目前在我的应用程序中编写了两个不同的标签(一个用于iOS,另一个用于Android),并且接近iOS上的旧版本.这是我使用的:
<!-- IOS --> <Meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0,maximum-scale=1.0,target-densityDpi=device-dpi" />` <!-- ANDROID --> <Meta name="viewport" content="width=device-width,user-scalable=1" />
我的config.xml设置是你期望的:
<preference name="HideKeyboardFormAccessoryBar" value="true" /> <preference name="KeyboardShrinksView" value="false" />
这里有几个链接,以保持关注,并继续发现(即请求)Cordova人最终解决它.
>问题CB-4862:https://issues.apache.org/jira/browse/CB-4862(这是核心问题的线程,原来是关闭的,但是在一段时间之后,我重新打开它)
>问题CB-5852:https://issues.apache.org/jira/browse/CB-5852(这是CB-4862的人被告知可能的修复可能存在 – 但开发人员的初步测试显示它不是一个真正的解决方案悲伤).
希望这些链接至少可以帮助您了解最新的有关keyboardshrink相关问题的信息.如果有其他人有潜在客户/链接,请分享!