gpt4 book ai didi

javascript - 防止由于固有的 WebView 行为而导致的不必要的闪烁

转载 作者:太空狗 更新时间:2023-10-29 14:29:08 30 4
gpt4 key购买 nike

我正在使用 Android WebView 来显示一些在运行时生成的 HTML 内容(String,准确地说是带有 HTML 标签)。内容基本上是一个 HTML <table ...>显示各种内容,该表的行是由我的程序生成的。通过调用 loadDataWithBaseUrl() 将 HTML 内容加载到我的 WebView 中方法。
现在每次生成新行时,我都会创建一个新的 <tr></tr>并修改 HTML 字符串以将新创建​​的行添加到表中。显然我必须记忆起 loadDataWithBaseUrl()重新加载 HTML 并显示最新行的方法。

现在这里有几个问题:
第一)每次loadDataWithBaseUrl()被调用时,WebView 滚动到页面顶部第二) 我想滚动 WebView在它一直加载到页面底部之后,以便始终显示最新生成的行。

现在是实际问题:
如果我尝试调用 WebViewpageDown(true)页面加载完成后的方法,我会得到一个令人讨厌的动画,用户必须等待 WebView 完成滚动到页面底部。
由于似乎没有办法禁用这种上下跳动的行为,我求助于 JavaScript,在页面加载后将页面一直滚动到底部(调用 window.onload 上的函数)
现在我面临另一个问题!仍然存在由 WebView 重新加载页面引起的闪烁,导致一直向上滚动,JavaScript 函数立即将页面滚动到底部。

在过去的几天里,我花了无数个小时,仍然没有找到实现我想要的结果的方法。有没有办法解决这个问题? (可能是解决方法/不同的策略?)罪魁祸首显然是 WebView 的固有行为,当它完成加载页面时滚动到顶部。

最佳答案

你能试试这样吗:

if (_webView.getScrollY() + _webView.getHeight() > _webView.getContentHeight())
_webView.scrollTo(0, _webView.getContentHeight() - _webView.getHeight());

关于javascript - 防止由于固有的 WebView 行为而导致的不必要的闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561866/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com