Android WebView无法在用户交互之前完全呈现内容

我有一个自定义类扩展WebView,显示HTML内容。 当用户单击HTML文档中的链接时,我计算要滚动到的X值,然后使用scrollTo(x,y)通过runnable显示该位置(见下文)

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重新呈现页面?

Solutions Collecting From Web of "Android WebView无法在用户交互之前完全呈现内容"

好吧,我在这个平板电脑有完全相同的问题,唯一的区别是我使用iscroll做所有滚动。 我用于此问题的解决方案是通过JavaScript“滚动”隐藏的DIV并修复问题。 我希望这可以帮助任何有同样问题的人。 如果你使用iscroll他们有一个方法来“滚动”到一个固定的位置,也许这​​也可以帮助你,如果不是那么难以检测touchmovemousemove事件。 这里的要点是你只需要在html的任何地方伪造一个滚动,即使看不到。