【发布时间】:2012-05-10 08:51:07
【问题描述】:
我有一个自定义类扩展显示 HTML 内容的 WebView。当用户单击 HTML 文档中的链接时,我计算要滚动到的 X 值,然后使用 scrollTo(x,y) 通过可运行文件显示该位置(见下文)
post( new Runnable() {
@Override
public void run() {
scrollTo( x, 0 );
MyWebView.this.invalidate();
MyWebView.this.buildDrawingCache();
MyWebView.this.refreshDrawableState();
MyWebView.this.postInvalidate();
}
} );
滚动后,webview 有可能无法渲染整个文档。矩形的空白块显示在文本应该在的位置,每次看似随机放置。这是截图:http://i.imgur.com/g192Y.jpg
当我触摸 webview 进行滚动时,它会立即呈现缺失的部分。
到目前为止,这种行为仅限于三星 Galaxy 10.1" 平板电脑。
有谁知道解决方法/如何强制 webkit 重新渲染页面?
【问题讨论】:
-
运气好吗?有类似的问题。这在 Jelly Bean 中运行良好,但在 ICS 中一直存在。
-
即使在果冻豆上我也有这个确切的问题。不过它在 Kitkat 上运行良好。
标签: android webkit webview scroll render