【发布时间】:2015-05-06 13:24:51
【问题描述】:
我目前正在使用 WebView.draw() 截取整个 WebView 的屏幕截图并将其保存到位图中(基于 this solution)。到目前为止,它一直运行良好。
我最近在运行 Lollipop 5.1 和最新更新的 Android 的 Nexus 5 上测试此功能(请注意,在 Nexus 5 上,所讨论的 WebView 比屏幕大,因此用户可以水平和垂直滚动)当我注意到生成的位图错误时,系统 WebView(撰写本文时版本为 42.0.2311.137)。它具有正确的尺寸,但不是显示整个 WebView,而是只有在调用该方法时对用户可见的 WebView 的一部分。
我已尝试卸载 Android 系统 WebView 的所有更新(从而将其恢复为版本 39 (1743759-arm),并且在出厂版本中功能正常。所以这个问题是由于 Android 的相对较新的更新所致System WebView. 我找不到更改日志,所以我无法弄清楚发生了什么变化以及如何修复它。 下面是一个快速的视觉解释:
有没有其他人遇到过这个问题并找到了可能的解决方案?
【问题讨论】:
-
我遇到了同样的问题。在设置内容视图之前,我尝试在 onCreate 中调用
WebView.enableSlowWholeDocumentDraw(),但这不起作用。你能分享你解决这个问题的步骤吗? -
我的问题出在片段中,所以我不得不从
onCreateView()方法中调用WebView.enableSlowWholeDocumentDraw()。如果我有时间,我会在一个 Activity 中尝试,看看它在接下来的几天内是否有效。 -
我也在使用 Fragment。我也试过从
onCreate调用它,但没有任何区别。 -
顺便说一句,这是我的问题。同一个,但在问之前我找不到你的问题。 My SOF Question