我有一个科尔多瓦安卓应用程序。当键盘弹出时,我禁用了调整大小,因为内容的大小调整对用户来说非常明显,并且不希望用户体验受到影响。
所以我将 AndroidManifest.xml 配置为:
- android:windowSoftInputMode="adjustPan"
但是,在这种配置下,键盘会打开,有时会覆盖输入框,因此用户无法分辨他们在输入什么。
为了解决这个问题,我使用https://github.com/driftyco/ionic-plugin-keyboard一个科尔多瓦键盘插件,当键盘显示和隐藏时触发键盘事件。通过该事件,我可以提取键盘的高度,然后在 Y 方向上变换输入框,使其可见。
这是一种黑客解决方案,我必须根据具体情况来做。
我想这一定是一个普遍的问题,我只是没有找到正确的材料来理解正确的方法。
如果框架自动为您处理这将是更理想的。另一种可能的选择是,当键盘被触发时,查找活动输入框,获取它的坐标,如果它被键盘隐藏,则向上滚动视图。我只是希望有一些东西可以为我做这件事,而我不得不把它全部连接起来。
任何建议表示赞赏。谢谢,德里克
更新
当软键盘出现在 phonegap 中时隐藏的输入字段提供了一种解决方法。在此代码中,键盘将在显示和不显示时发送事件。我修改了代码,但想法是当您收到事件时,您会查找焦点所在的元素。从那里您可以基于此移动屏幕。这应该可以解决大多数情况。