虚拟键盘隐藏时屏幕变黑 - 三星Galaxy Tab 10.1 / Android 3.1 / PhoneGap

时间:2012-09-22 18:03:43

标签: android cordova keyboard screen hide

如果我将文本输入放在页面的下半部分,当用户点击它以显示虚拟键盘时,页面会自动向上滑动。当您点击键盘时,页面会自动再次向下滑动。即,一切都很好。

但是当文本输入位于页面的 top 一半时(在这种情况下,当键盘出现时页面不会自动滑动),行为很糟糕:

  1. 用户点击文字输入;

  2. 整个屏幕(文字输入除外)暂时变黑,然后键盘向上滑动;

  3. 用户点击键盘;

  4. 在再次渲染页面之前,屏幕会闪烁黑色。

  5. 但是,如果您尝试上述步骤 second 时间,则序列为: 1.同上;

    1. 与上述相同;

    2. 与上述相同;

    3. 屏幕变黑并保持黑色;

    4. 用户点击黑屏;

    5. 页面再次显示。

    6. 我尝试了一些不同的东西,例如检测文本输入何时失去焦点(即键盘隐藏)以显示页面,滚动页面等等,但似乎没有任何东西可以防止黑屏出现此问题。 / p>

      当文本输入失去焦点时显示javascript警告可以避免出现黑屏问题(但我不希望显示警报!)。

      我也尝试在AndroidManifest.xml标签中使用android:hardwareAccelerated =“true”。虽然这确实解决了这个特殊问题,但不幸的是,它在整个Web应用程序中产生了更多的渲染问题。

      有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

将此代码放入启动活动代码

中的清单文件中
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"

android:windowSoftInputMode="stateHidden|adjustPan"