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