Javascript 防止由于固有的WebView行为而导致不必要的闪烁
我使用安卓网络视图来显示运行时生成的一些HTML内容(精确地说是带有HTML标记的Javascript 防止由于固有的WebView行为而导致不必要的闪烁,javascript,android,webview,scroll,flicker,Javascript,Android,Webview,Scroll,Flicker,我使用安卓网络视图来显示运行时生成的一些HTML内容(精确地说是带有HTML标记的字符串)。内容基本上是一个HTML,显示各种内容,此表的行由我的程序生成。通过调用loadDataWithBaseUrl()方法将HTML内容加载到my WebView中。 现在,每次生成新行时,我都会创建一个新的,并修改HTML字符串以将新创建的行添加到表中。 显然,我必须调用loadDataWithBaseUrl()方法来重新加载HTML并显示最新的行 现在这里有几个问题: 首先)每次调用loadDataWit
字符串)。内容基本上是一个HTML
,显示各种内容,此表的行由我的程序生成。通过调用loadDataWithBaseUrl()
方法将HTML内容加载到my WebView中。
现在,每次生成新行时,我都会创建一个新的
,并修改HTML字符串以将新创建的行添加到表中。
显然,我必须调用loadDataWithBaseUrl()
方法来重新加载HTML并显示最新的行
现在这里有几个问题:
首先)每次调用loadDataWithBaseUrl()
时,WebView都会滚动到页面顶部
Second)我想在将WebView一直加载到页面底部后滚动它,以便始终显示最新生成的行
现在是实际问题:
如果我试图在页面加载完成后调用WebView
的pageDown(true)
方法,我将得到一个令人讨厌的动画,用户必须等待WebView完成滚动到页面底部。
由于似乎没有办法禁用这种上下跳跃行为,我求助于JavaScript,在页面加载后将页面一直滚动到底(调用window.onload
)上的函数
现在我面临另一个问题!但是,WebView重新加载页面会导致页面一直向上滚动,而JavaScript函数会立即将页面滚动到底部,这仍然会导致闪烁
在过去的几天里,我花了无数个小时,但仍然没有找到一种方法来达到我想要的结果。有没有办法解决这个问题?(解决方法/可能是不同的策略?)罪魁祸首显然是WebView的固有行为,它在加载完页面后会滚动到顶部。您可以尝试以下方法:
if (_webView.getScrollY() + _webView.getHeight() > _webView.getContentHeight())
_webView.scrollTo(0, _webView.getContentHeight() - _webView.getHeight());
有一些关于如何使滚动和翻页电子墨水友好的帖子:
已尝试。。。闪烁!如果我能阻止WebView自动滚动到顶部就好了。。。。。。。