WebView.scrollTo 函数未显示

WebView.scrollTo function not showing up

我正在尝试使用网络视图打开 pdf 文档并滚动到特定页面。但是,日志显示该应用程序认为它滚动到一个页面,但仍然停留在文档的第 1 页。

我目前的代码如下:

String pdf = https://docs.google.com/file/d/0BzfmteGs4MHZMTAzOGQ0ZjUtM2E5OC00YmNhLWIyMDEtZDAxYjc5OWIwYjkw/edit?hl=en#
web = (WebView) findViewById(R.id.web);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl(pdf);
web.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        web.scrollTo(0,100);
        Log.d("CURRENTPAGE", String.valueOf(web.getScrollY()));
        Log.d("TOTALPAGES", String.valueOf(view.getContentHeight()));
    }
});

日志是这样说的

CURRENTPAGE: 100
TOTALPAGES: 796

但该页面仍保留在 pdf 的第 1 页上。谁能帮我找出我做错了什么?

WebView 本身不处理 PDF。如果你在里面打开一些 URL(没有下载文件提示)那么这可能是一些网络应用程序,它在内部处理 PDF 格式,将其内容“翻译”成 WebView-可理解的(一些网络语言,HTML 可能)

因此,如果此 Web 应用程序将其内容介绍为高度为 796 像素的单个网页(您将其命名为 TOTALPAGES,那不是真的)并在内部处理 pdf 页面切换,那么您将无能为力那种方式

进一步:您加载的网页有 796 像素的高度,并且可能适合您的屏幕的全部内容,因此 scrollTo 方法不会有任何滚动。如果您的网页高度达到例如3456 px 并且你的屏幕是全高清的(所以网页放不下)那么你可以使用 scrollTo