webview loaddata 滚动设置在单击之前不会更新

2024-06-28

我使用 loadData() 和 reload() 更新 webView 中的 html。我获取了要显示的新数据,但页面滚动尚未更新。我想将页面视图保留在底部。我等了好久还是没有更新。单击 webView 后,滚动条会调整,我可以拖动到页面底部并查看新文本。

我尝试过的事情: - onPageFinished() 中的多项设置和调用。没有任何效果,因为 getContentHeight() 尚未更改。我也尝试过scrollTo(100 + getContentHeight)但这不起作用。 - 向下翻页(真)

  • reload() 之后调用 requestLayout()

  • browser.requestFocusFromTouch() - 仍然不好,认为我可以模拟我的点击。

  • 添加一些 br 标签。这有点工作,但是 br 的数量必须等于新文本的行数。由于新行的数量无法根据方向和屏幕变量准确确定,因此这不是一个好的解决方案。 有任何想法吗? TIA


如果你希望 webview 在加载完成后滚动到底部,我发现我必须在 onNewPicture 中使用 pageDown(true) 。 (我相信这是视图完成绘制时触发的事件。)

所以代码看起来像这样

   webView.setPictureListener( new WebView.PictureListener() {

        public void onNewPicture(WebView view, Picture picture) {
            webView.pageDown(true);
        }
    }

使用 pageDown 会带来明显的页面滚动问题;我在寻找任何其他方式跳转到 webView 底部时遇到问题,在寻找解决方案时发现了这个问题! (不过,我还没有尝试进入 WebView 内部并使用 javascript。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webview loaddata 滚动设置在单击之前不会更新 的相关文章

随机推荐