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

  • Android系统。 一起滚动2个列表视图
  • Android ListView添加项目到顶部没有列表视图滚动
  • 如何使线性布局可滚动?
  • Android无法删除顶部和底部的颜色
  • 检测适配器中的滚动方向(向上/向下)
  • ViewPager中的setCurrentItem不会立即滚动到正确的位置
  • Android模拟器不会向下滚动
  • Android:滚动Imageview
  • 好吧,我在这个平板电脑有完全相同的问题,唯一的区别是我使用iscroll做所有滚动。 我用于此问题的解决方案是通过JavaScript“滚动”隐藏的DIV并修复问题。 我希望这可以帮助任何有同样问题的人。 如果你使用iscroll他们有一个方法来“滚动”到一个固定的位置,也许这​​也可以帮助你,如果不是那么难以检测touchmovemousemove事件。 这里的要点是你只需要在html的任何地方伪造一个滚动,即使看不到。