3
我正在尋找一個視圖層次結構並將其轉換爲位圖。使用view.getDrawingCache()完全符合我的要求,但如果在繪製視圖之前嘗試完成,將無法正常工作。是否還有另一個功能可以完成相同的功能,但在實際繪製之前呢?我想創建視圖並將其轉換爲位圖來顯示和放棄實際視圖。如果有辦法強制繪製視圖,那麼也可能會起作用。有任何想法嗎?Android在繪製之前獲取視圖的位圖嗎?
我發現這在以前的文章:
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap(v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}
這看起來很有希望,但是當我用它我得到的是一個半透明的黑盒子。
用v.getWidth()替換v.getLayoutParams().width,它工作。 – stealthcopter
這不需要你有視圖嗎? – StuStirling