我正在使用SurfaceView
画一个这样的圆圈:
Canvas canvas = holder.lockCanvas();
canvas.drawColor(android.R.color.holo_blue_bright);
Paint paint = new Paint();
paint.setStrokeWidth(0);
paint.setARGB(255,255,138,253);
canvas.drawCircle(canvas.getWidth() / 2, canvas.getHeight() / 2, (float) (lastAmp/ 1.2), paint);
holder.unlockCanvasAndPost(canvas);
所以灰色backdround实际上是保存SurfacrView的线性布局的一部分。 粉色圆圈是我画的部分,黑色部分是我想要摆脱的部分,我希望它是透明的,并且看到下面的灰色背景。
答案 0 :(得分:2)
如果要清除SurfaceView的一部分,可以将此模式设置为画家:
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
然后你可以用它来绘制你想要的任何形状以获得效果。这基本上意味着,"透明地绘制"。