trigger.io Android webview app - 键盘关闭或方向更改后出现的灰色背景

时间:2013-04-24 09:36:46

标签: android android-webview cordova trigger.io

我正在使用Trigger.io构建一个包含html5的iOS / Android应用程序。

我在Android上遇到问题,在虚拟键盘关闭后或手机改变方向后,屏幕上会出现灰色背景。

示例屏幕截图如下所示。

灰色背景是在我的应用页面结束之后。有时它会在一瞬间可见,有时它会保持可见状态,直到您进行操作,例如滚动页面,将键盘拉回,更改方向。

看起来很震撼。

我希望能够阻止问题发生,但作为临时修复,我很高兴能够将灰色设置为我自己的背景颜色,以使其不那么明显。

Grey area at footer of page

Grey area at footer of page

3 个答案:

答案 0 :(得分:1)

当键盘消失时,看起来HTML没有被重新绘制...如果你做某事来触发渲染,它会清除吗?

您是否使用框架来处理UI?可能试图根据可见视口做一些聪明的事情?

据我所知,问题的根源在于webview没有正确地重新绘制,或者JavaScript中的某些内容无法响应视口更改大小。

您可以尝试在“网络”目标(而不是Android)上运行该应用,然后在手机的浏览器中打开它:如果您可以在应用中获得足够的效果以创建相同的效果,则有助于将问题与webview渲染或你的JS。

答案 1 :(得分:0)

我的项目中有一个非常类似的问题,在我的情况下在Android 2.3.5上,但在Android 4上没有。*。我的原因是没有为清单中的相关活动设置窗口软输入模式:

android:windowSoftInputMode="adjustPan"

相反,当键盘出现时窗口正在调整大小,但当键盘消失时,显然没有再次调整大小。

可以找到更多详细信息here

答案 2 :(得分:0)

我对同样的问题几乎疯了。我终于发现这在很大程度上取决于您使用的设备。我遇到了类似的问题:Fixed elements (HTML) break after android keyboard dissapears?

我也在使用trigger.io。某些设备不会发生这种情况。可能是android中的特定操作系统,也可能只是特定设备处理内存延迟的方式。

我已经找到了这个,但我跟@jamesbrady一起,因为HTML没有重绘。触发器中的问题是您无法编辑

android:windowSoftInputMode="adjustPan"

因为AndroidManifest.xml中的activity标记在每次运行时都会更新。您需要为此构建一个私有模块。