我正在开发一个基于PhoneGap的应用程序,我搜索了很多关于如何在虚拟键盘出现时使我的webview调整其高度,或者至少获得虚拟键盘的高度.我发现了很多帖子(包括stackoverflow)
android:windowSoftInputMode="adjustResize"
必须在清单中设置,我这样做了.我还发现,对于PhoneGap config.xml,有
<preference name="android-windowSoftInputMode" value="adjustResize"/>
设置,我也粘贴了.我也尝试了两个参数的组合值’stateVisible | adjustResize'(不仅仅是’adjustResize’),但在我看来它们都没有效果.我不知道,也许我做错了,但你可以查看模拟器的截图(Android 4.0.3,但我也试过4.1.2和4.2.2):
http://screencast.com/t/Mm0mw8c693 – 键盘可见
http://screencast.com/t/lZ2DomqeRR – 键盘隐藏
在屏幕截图中,我故意捕获了我的清单和config.xml设置,因此您可能会看到它们实际存在.
我甚至录制了短视频 – http://screencast.com/t/xI9PMcMJxxx
正如您所看到的,当键盘显示/隐藏时,不会发生任何视口大小调整.
我还使用console.log()检查了window.innerHeight,它对于可见和隐藏键盘都保持相同.
拜托,给我一些建议.
解决方法
如果您的应用程序处于全屏模式(在config.xml中将fullscreen设置为true),windowSoftInputMode =“adjustResize”将不起作用. Android的问题不是Cordova.
the issue CB-4404在Cordova bug跟踪器中提交了几个月,但最近在Android bug跟踪器上发现了
it is working as intended.