1.获取canvas对象,可以在View的onDraw方法中获取或用SurfaceView用getHolder.lockCanvas()获取
//save和restore是为了剪切操作不影响画布的其它元素
canvas.save();
Rect rect = new Rect(0,0,100,100);
Rect clipRect = new Rect(0,0,50,50);
//将剪切矩形与要下面要画的矩形相交,只显示相交的区域
canvas.clipRect(clipRect);
//将剪切矩形与要下面要画的矩形相交,不显示相交的区域
//canvas.clipRect(clipRect,Op.XOR)
canvas.drawRect(rect, paint);
canvas.restore();
效果图:
不剪切
canvas.clipRect(clipRect)

canvas.clipRect(clipRect,Op.XOR)