i have webview want turn bitmap part of application.
currently, can bitmap of portion of webview rendered onscreen, bitmap needs contain of page's contents.
setting webview's layoutparams larger size results in original image loading onto larger canvas.
here current implementation:
framelayout.layoutparams tempparams= new framelayout.layoutparams(2000,4000); _webview.setlayoutparams(tempparams); _webview.layout(0,0,2000,4000); int width = _webview.getwidth(); int height = _webview.getheight(); _webview.postdelayed(new runnable() { @override public void run() { bitmap bitmap = bitmap.createbitmap(_webview.getwidth(), _webview.getheight(), bitmap.config.argb_8888); canvas canvas = new canvas(bitmap); _webview.draw(canvas); } },100); i have followed following tutorials , not seem resolve issue.
rendering android webview bitmap, html5 javascript , callback issue
generate bitmap html in android
i thinking using picturelistener , capturepicture() have been deprecated.
you can set webview height wrap_contents, , resize content height.
you can still use picturelistener.onnewpicture() receive signal webview has drawn something. better using onpagefinished(), latter indicates webview has received page contents. current status of picturelistener.onnewpicture() means it's not possible obtain picture it, need use webview.draw() doing.
also, aware if app targeting l api level or above, need call webview.enableslowwholedocumentdraw() prior creating webviews in order make draw entire contents of webview onto canvas, see this.
Comments
Post a Comment