可以使用view.setDrawingCacheEnabled(true);
捕捉視圖圖像。然後你必須創建一個方法來做到這一點。這裏是我的保存方法
void Save() {
if (null != view.getDrawable()) {
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
save = view.getDrawingCache();
final File myDir = new File(folder);
myDir.mkdirs();
final Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
final String fname = "StyleMe-" + n + ".png";
file = new File(myDir, fname);
if (file.exists())
file.delete();
try {
final FileOutputStream out = new FileOutputStream(file);
save.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://"
+ Environment.getExternalStorageDirectory())));
Toast.makeText(getApplication(), "Image Saved",
Toast.LENGTH_SHORT).show();
} catch (final Exception e) {
Toast.makeText(getApplication(),
"Something Went Wrong check if you have Enough Memory",
Toast.LENGTH_LONG).show();
}
} else {
final Toast tst = Toast.makeText(getApplication(),
"Please Select An Image First", Toast.LENGTH_LONG);
tst.setGravity(Gravity.CENTER, 0, 0);
tst.show();
}
view.setDrawingCacheEnabled(false);
}
在上面的答案中,捕獲DIV元素以創建圖像的想法在哪裏?這是爲了讓傻子? – YuDroid 2014-01-30 09:59:14
@YuDroid。 View.getDrawingCache()它實際上捕獲視圖。作爲一個圖像。按照我上面的答案。你在開玩笑嗎? – k0sh 2014-01-30 20:18:23
但按照問題「可能有很多元素,但我只想捕獲在WebView中呈現的div。」,您是如何得到特定元素的?這是我的問題。從其他視圖捕獲圖像很直觀。此外,當我的屏幕進入橫向模式時,我沒有獲得WebView的全部高度,即getContentHeight()沒有返回完整的HTML高度。如何處理這個? – YuDroid 2014-01-31 06:14:13