我目前正在使用WebView.draw()
整个WebView的屏幕快照并将其保存到Bitmap中(基于此解决方案)。到目前为止,它一直运行良好。
我最近在Nexus 5上测试了此功能(请注意,在Nexus 5上,有问题的WebView大于屏幕,因此用户可以水平和垂直滚动),该软件运行的是Lollipop 5.1和最新版的Android System WebView(撰写本文时,版本42.0.2311.137)时,我注意到生成的位图是错误的。它具有正确的尺寸,但是它没有显示整个WebView,而是仅包含WebView的一部分,该部分在调用方法时对用户可见。
我尝试卸载所有对Android System WebView的更新(因此将其恢复到版本39(1743759-arm),并且在出厂版本中,该功能正常运行,因此,此问题是由于Android System WebView的更新较新造成的。我找不到更改日志,因此无法弄清楚更改了哪些内容以及如何解决它,以下是快速的直观说明:
还有其他人遇到此问题并找到可能的解决方案吗?
创建任何WebView之前,您需要调用WebView.enableSlowWholeDocumentDraw()。也就是说,如果您有任何网页视图在布局时,请确保调用此方法之前调用setContentView()
你的onCreate()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句