您的位置:首页 > 其它

如何设置SurfaceView背景透明

2014-10-23 14:39 337 查看
网上一搜一大堆,都说加:

this.setZOrderOnTop(true);
getHolder().setFormat(PixelFormat.TRANSLUCENT);


清屏用:

canvas.drawColor(Color.TRANSPARENT,Mode.CLEAR);


但谁也没说这几句代码放哪。

由于MySurfaceView搞了3个构造方法,所以我就把代码放到surfaceCreated里去了,怎么运行都不成。

其实只要把上面那两句放到MySurfaceView的构造方法里就行了,清屏代码放在你canvas.draw任何东西之前就OK了。当然,清屏代码可有可无,原因是如果你draw东西的时候draw了一个不会动的东西,那清屏也就没什么意义了。否则,肯定是要加清屏代码的。当然,清屏代码也可以用下面的这种方式:

paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
			canvas.drawPaint(paint);
			paint.setXfermode(new PorterDuffXfermode(Mode.SRC));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: