如何设置SurfaceView背景透明

网上一搜一大堆,都说加:

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值