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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (44)

我有一个扩展WebView的自定义类来显示HTML内容。当用户单击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进行滚动时,它会立即渲染丢失的部分。

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

提问于
用户回答回答于

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

扫码关注云+社区