【问题标题】:page content don't scroll when keyboard shows phonegap键盘显示 phonegap 时页面内容不滚动
【发布时间】:2018-06-14 20:22:45
【问题描述】:

在我的应用程序中,当我尝试输入字段时出现注册问题,键盘隐藏了其他字段,这些字段是屏幕截图

我们如何解决我希望页面可滚动的问题,我正在使用 phonegap 构建 这需要对 config.xml 进行某些更改,我真的不知道该怎么做。

【问题讨论】:

  • 正如 Dylan 在下面评论的那样,这是在移动设备上滚动的怪癖之一。滚动是 PhoneGap/Mobile 中最难维护的事情之一。特别是如果你想支持 Android 2.3 或 iOS 4。幸运的是,你有 overthrowjs 或 iscroll 之类的东西;但是您必须确保从一开始就实施这些事情。滚动的其他怪癖是忘记在 html、body、zindex 元素等上锁定滚动...当您的主要元素停止滚动时,这些外部元素将开始滚动并创造各种乐趣,尤其是在某些 Android 和 iOS 上具有反弹效果.

标签: css html cordova


【解决方案1】:

我也遇到过这个问题 - 根本问题似乎是您无法使用 Phonegap Build 编辑 androidManifest 文件 - 您所能做的就是编辑 config.xml 文件,该文件实际上只允许您更改有限的子集设置。 我想要(以及很多其他人已经尖叫了很长时间)是能够更改 windowSoftInputMode。

不过,我确实找到了解决问题的方法——键盘出现在屏幕底部的字段上方,我认为这与您遇到的问题相同。 对我来说 - 我使用的是最新的 phonegap 2.7.0(但能够通过在 config.xml 文件中指定 phonegap 2.5.0 来重现相同的行为和解决方案)

我找到的解决方案是在 config.xml 中更改此设置

<preference name="fullscreen" value="false" />

这确实意味着您会在屏幕顶部看到“状态栏”.. 这对我来说没什么大不了的(事实上,我认为最好有它.. 至少对于我的应用程序而言)- 使用该设置设置为“false”而不是“true” - 页面现在向上滚动以在键盘打开时显示您正在编辑的字段。 (更准确地说,我相信视口会发生变化而不是向上滚动)

希望能帮助并解决您的问题.. 花了我几个小时的搜索和摆弄才能让它工作(如果我没有发现我不得不放弃 phonegap 构建)

快乐! 迪伦

【讨论】:

  • 在Android上,你不能在你的主要活动中设置这个吗? android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 这允许 Android 默认行为来缩小键盘显示的视图。在 iOS 上,您需要在配置 xml 中进行此设置: 以获得相同的行为。这假设您在元素上有溢出滚动。
  • @Dylan Hamilton-Foster 嘿,我已经尝试过您的答案,但问题仍然相同。我有使用自动完成文本框。所以现在用户由于键盘看不到完整的下拉菜单。和键盘还建议从字典文本。怎么能进去呢?
  • @Dylan Hamilton-Foster,太好了!!!很长一段时间后,我找到了这个解决方案,但现在问题是我也想要全屏。有什么办法可以让我全屏并摆脱这个问题。
  • 它有效!谢谢...为了使这项工作您的活动标签中不应有 android:windowSoftInputMode="adjustPan"
【解决方案2】:

config.xml 中尝试这样的事情:

<preference name="fullscreen" value="false" />
<preference name="android-windowSoftInputMode" value="stateVisible" />

【讨论】:

  • 我试过 value="stateUnchanged|adjustResize" 效果很好。上述选项也适用,但对我来说,应用程序以可见的键盘开始,这在大多数情况下不是用户想要的。
【解决方案3】:

如果你使用 phonegap 构建

尝试在 config.xml 中添加它,它可以帮助我解决同样的问题:

<gap:config-file platform="android" parent="/manifest/application">
        android:windowSoftInputMode="stateVisible"
</gap:config-file> 

感谢Manuel指出参数windowSoftInputMode="stateVisible"

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多