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

use*_*134 17 android scroll webkit render 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();
            }
        } );
Run Code Online (Sandbox Code Playgroud)

滚动后,webview可能无法呈现整个文档.显示文本应该是的白色空间的矩形块,每次都看似随机放置.这是一个截图:http://i.imgur.com/g192Y.jpg

当我触摸webview进行滚动时,它会立即渲染缺失的部分.

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

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

Jor*_*lar 6

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