前段時間做的一個書店項目其閱讀模塊中用到了WebView + js,今天把WebView這塊用到的幾個特性記錄下。
其主要用到了webView的快照與屏幕的截屏。部分代碼如下:
[html]
/**
* 截取webView可視區域的截圖
* @param webView 前提:WebView要設置webView.setDrawingCacheEnabled(true);
* @return
*/
private Bitmap captureWebViewVisibleSize(WebView webView){
Bitmap bmp = webView.getDrawingCache();
return bmp;
}
/**
* 截取webView可視區域的截圖
* @param webView 前提:WebView要設置webView.setDrawingCacheEnabled(true);
* @return
*/
private Bitmap captureWebViewVisibleSize(WebView webView){
Bitmap bmp = webView.getDrawingCache();
return bmp;
}
這個方法只截取屏幕中顯示出來部分的webView畫面,未顯示的部分不會被截取。
[html]
/**
* 截取webView快照(webView加載的整個內容的大小)
* @param webView
* @return
*/
private Bitmap captureWebView(WebView webView){
Picture snapShot = webView.capturePicture();
Bitmap bmp = Bitmap.createBitmap(snapShot.getWidth(),snapShot.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
snapShot.draw(canvas);
return bmp;
}
/**
* 截取webView快照(webView加載的整個內容的大小)
* @param webView
* @return
*/ www.2cto.com
private Bitmap captureWebView(WebView webView){
Picture snapShot = webView.capturePicture();
Bitmap bmp = Bitmap.createBitmap(snapShot.getWidth(),snapShot.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
snapShot.draw(canvas);
return bmp;
}
這個看好與上一個是不同的,他是截取webView的整個頁面,未顯示的也會被截取。
[html]
/**
* 截屏
* @param context
* @return
*/
private Bitmap captureScreen(Activity context){
View cv = context.getWindow().getDecorView();
Bitmap bmp = Bitmap.createBitmap(cv.getWidth(), cv.getHeight(),Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
cv.draw(canvas);
return bmp;
/**
* 截屏
* @param context
* @return
*/
private Bitmap captureScreen(Activity context){
View cv = context.getWindow().getDecorView();
Bitmap bmp = Bitmap.createBitmap(cv.getWidth(), cv.getHeight(),Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
cv.draw(canvas);
return bmp;[html] view plaincopyprint?}
}
這個不用多說大家都明白就是手機屏幕的快照~~