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

当我触摸网页视图滚动时,它会立即显示缺少的部分。

到目前为止,这种行为仅限于三星Galaxy 10.1“平板电脑。

有谁知道解决方法/如何强制webkit重新呈现页面?

那么我在这个平板电脑上有完全相同的问题,唯一的区别是我正在使用iscroll做所有的滚动。我用于这个问题的解决方案是通过JavaScript“隐藏”DIV“滚动”,并解决问题。我希望这可以帮助任何有同样问题的人。如果你使用iscroll他们有一个方法来“滚动”到一个固定的位置,也许这​​也可以帮助你,如果不是很难检测到touchmove或mousemove事件。这里的要点是,即使不可见,您只需要在HTML上的任何地方假冒一个滚动。
http://stackoverflow.com/questions/10387345/android-webview-fails-to-completely-render-content-until-user-interaction

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Android WebView无法完全呈现内容直到用户交互