【问题标题】:Android - Cordova/PhoneGap - Keyboard Shows on Load & on Resume from BackgroundAndroid - Cordova/PhoneGap - 加载和从后台恢复时的键盘显示
【发布时间】:2014-01-14 18:35:36
【问题描述】:

我正在构建一个 Cordova (3.3.0)/PhoneGap 应用程序。

我在 Android 版本中显示的键盘有几个问题(iOS 上不会出现问题):

  • 所有设备,键盘在加载期间显示,但在应用启动时隐藏
  • 某些设备(尤其是 Nexus 5),键盘在初始化时不会隐藏
  • 某些设备(同样是 Nexus 5),当应用程序从后台恢复时,键盘也会显示,即使键盘之前是隐藏的

你知道为什么会这样吗?

我的 config.xml 中有以下值(在根 www 文件夹中):

<preference value="true" name="KeyboardShrinksView"/>

其他一些可能相关的信息:

  • 我正在使用 cordova CLI 构建我的项目
  • 我正在使用一些插件,即:设备、对话框、inappbrowser、网络信息
  • 我在后台的一个“页面”上确实有一个输入控件(文本框)(一个单独的&lt;div&gt; 以避免混淆),但据我所知,这个输入没有获得焦点。我已经通过 javascript 警报确认了这一点。

提前感谢您的时间和努力!

【问题讨论】:

  • 您是否检查了它在您的 HTML 中引用的 cordova.js/phonegap.js,以及它是否位于 android 源代码中的正确位置
  • 是的,我的 html 页面中引用了 cordova.js,deviceready 正确触发,并且该应用的其他功能运行良好。

标签: android cordova


【解决方案1】:

能够修复我自己的错误。 它与 AndroidManifest.xml 配置有关,与 Cordova/Phonegap 无关。特别是

android:windowSoftInputMode="stateVisible|adjustPan"

活动声明的属性。我不记得在哪里找到了stateVisible 的建议,但我相信这是解决其他一些键盘问题后遗留下来的。我将值调整为

android:windowSoftInputMode="stateHidden|adjustPan"

它解决了问题。

【讨论】:

    猜你喜欢
    • 2020-10-27
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    相关资源
    最近更新 更多