gpt4 book ai didi

android webview.scrollTo 不工作

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:56 26 4
gpt4 key购买 nike

我在 onPageFinished 函数中调用 webview.scrollTo,但它什么也没做。

    public void onPageFinished(WebView view, String url) 
{
// TODO Auto-generated method stub
super.onPageFinished(view, url);
webview.scrollTo(0, scrollY);
}

知道为什么吗?如何在完成加载后自动滚动页面?

最佳答案

在我看来,onPageFinishedonProgressChangedWebView.scrollTo 和显示(实际上绘制到屏幕上)。

页面显示后,WebView“认为”它已滚动到您的scrollY 位置。

要进行测试,您可以验证 WebView.getScrollY() 返回您想要的内容,但页面显示不在该位置。

要解决这个问题,这里有一个在页面显示后立即滚动到 Y 的非确定性方法:

    ...
webView = (WebView) view.findViewById(R.id.web_view_id);
webView.loadData( htmlToDisplay, "text/html; charset=UTF-8", null);
...
webView.setWebViewClient( new WebViewClient()
{ ... } );
webView.setWebChromeClient(new WebChromeClient()
{
...

@Override
public void onProgressChanged(WebView view, int progress) {
...
if ( view.getProgress()==100) {
// I save Y w/in Bundle so orientation changes [in addition to
// initial loads] will reposition to last location
jumpToY( savedYLocation );
}
}

} );

...

private void jumpToY ( int yLocation ) {
webView.postDelayed( new Runnable () {
@Override
public void run() {
webView.scrollTo(0, yLocation);
}
}, 300);
}

300 毫秒的最终参数似乎允许系统在调用 jumpToY 之前“ catch ”。根据运行的平台,您可能会使用该值。

希望对你有帮助

-迈克

关于android webview.scrollTo 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22737412/

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