osa*_*gan 6 android chromium android-webview android-5.0-lollipop
我正在使用Android Print Framework将WebView的HTML内容保存为PDF.由于Android-L中的WebView有一种渲染WebView内容的新方法,因此建议在创建任何webview之前调用enableSlowWholeDocumentDraw()方法.这将禁用渲染优化,因此WebView将能够呈现整个HTML页面.
以下是将WebView绘制到Canvas中的代码部分.
PdfDocument.Page page = document.startPage(pageInfo);
mWebView.draw(page.getCanvas());
Run Code Online (Sandbox Code Playgroud)
我尝试WebView.enableSlowWholeDocumentDraw()从Application,BaseActivity以及在Fragment中创建WebView之前和之后调用.但这没有帮助.
我尝试通过将Layer Type设置为SOFTWARE和HARDWARE来启用/禁用硬件加速,但这也无济于事.我仍然无法绘制整个WebView.只有可见部分将被绘制到画布.
有人注意到这种行为吗?有没有解决方案或这是一个Bug?
编辑
事实证明,它不是关于WebView.enableSlowWholeDocumentDraw(),我们仍在讨论这个问题.这是错误报告.以下是重现问题的示例应用程序.
您需要在应用程序中创建任何WebView.enableSlowWholeDocumentDraw()WebView之前调用。
也就是说,如果静态布局中的某处有 WebView,请确保WebView.enableSlowWholeDocumentDraw()在第一次调用setContentView()使用 WebView 扩展布局之前进行调用。
还要确保您的 WebView 确实很大。例如,如果其布局大小设置为match_parent,那么您的 WebView 将具有屏幕的大小,这就是将捕获的内容。您需要为宽度和高度设置一些人为的高值。这个问题包含一个很好的说明:WebView.draw() not正规地工作在最新的Android系统WebView更新上
| 归档时间: |
|
| 查看次数: |
5502 次 |
| 最近记录: |