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);

 

你可能感兴趣的:(android,控件)