Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 网络视图截图_Android_Webview_Webpage Screenshot - Fatal编程技术网

Android 网络视图截图

Android 网络视图截图,android,webview,webpage-screenshot,Android,Webview,Webpage Screenshot,我正在尝试截图我的网络视图的内容。我创建了一个位图,然后从这个位图创建画布,然后在onPageFinished中调用方法drawPagecanvas,这是WebChromeClient的回调,但onPageFinished webView中仍然没有加载内容,所以我首先看到的只是黑色页面,然后我看到上一页,因为当我第二次调用它时,上一页加载到webView。我该如何处理这个问题?我可以用Hadler来解决这个问题,但是我认为应该有更好的方法来解决这个问题。 谢谢您的帮助。我想我不理解这个问题,但您

我正在尝试截图我的网络视图的内容。我创建了一个位图,然后从这个位图创建画布,然后在onPageFinished中调用方法drawPagecanvas,这是WebChromeClient的回调,但onPageFinished webView中仍然没有加载内容,所以我首先看到的只是黑色页面,然后我看到上一页,因为当我第二次调用它时,上一页加载到webView。我该如何处理这个问题?我可以用Hadler来解决这个问题,但是我认为应该有更好的方法来解决这个问题。
谢谢您的帮助。

我想我不理解这个问题,但您是否在询问如何在加载页面的Web视图上触发事件?能否创建WebView客户端并覆盖onPageCompleted

private WebViewClient viewClient {
    @Override
    public boolean onPageFinished(WebView view, String url) {
        //here you can run your Bitmap creating code
        return true;
    }
}
YourWebView.setWebViewClient(viewClient);

这就是你想要的吗?

如果我在onPageFinished方法中截图,我第一次会得到一个空白页面,当我将另一个页面加载到同一个webview并截图时,我会得到一个上一页屏幕,因为webview中仍然有上一页。我正在寻找我加载的页面最终在web视图中显示的时刻。我知道你提到过延迟尝试,但你的权利,这似乎是错误的。我能问你为什么要拍截图吗?这可能不是实现你想做的事情的最佳方式。在onPageFinished中将Loaded Boolean设置为true,然后在WebView的onDraw方法中检查Loaded是否为true可能会有所帮助,但这只是一个想法。