Android開發,清屏後如何使canvas畫布背景色透明。

有時候我們有這樣一個需求,在按住View時在View上繪製一些東西,比如圖案之類的,然後在手指鬆開時將繪製的東西清除掉

這時候就有兩種方法可以清屏

1.

clearPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
canvas.drawPaint(clearPaint);
clearPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));

2.

canvas.drawColor(0,PorterDuff.Mode.CLEAR);

然後我們發揮發現一個問題,此時畫布背景色變成了黑色,解決辦法,關閉硬件加速,在構造函數中加入以下代碼即可

setLayerType(LAYER_TYPE_HARDWARE,null);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章