1

WebView のコンテンツのスクリーンショットを撮ろうとしています。ビットマップを作成し、このビットマップからキャンバスを作成し、onPageFinished() (WebChromeClient からのコールバック) 内でメソッド drawPage(canvas) を呼び出しますが、onPageFinished() 内では webView がまだコンテンツをロードしていないため、最初に黒いページが表示され、次に前のページが表示されます(2回目に呼び出すと、前のページがwebViewにロードされるため)。どうすればこの問題に対処できますか? 少し遅れてハドラーを使用して解決できますが、これを行うためのより良い方法があるはずです。手伝ってくれてありがとう。

4

1 に答える 1

0

私は問題を理解していないと思いますが、ページをロードしている WebView でイベントをトリガーする方法を尋ねていますか? 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);

これはあなたが探しているものですか?

于 2011-08-14T17:58:39.243 に答える