@Override
protected void onDraw(Canvas canvas) {
// super.onDraw(canvas);
// canvas.save();
canvas.translate(50, 50);
canvas.clipRect(0, 0, 120, 120);
//填充canvas全部bitmap
canvas.drawColor(Color.BLUE);
// canvas.save();
canvas.translate(30, 30);
canvas.translate(30,30);
// canvas.save();
canvas.clipRect(-30, -30, 30, 30);
//填充canvas全部bitmap
canvas.drawColor(Color.DKGRAY);
// canvas.translate(30, 30);
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawRect(0, 0, 40, 40,paint);
// canvas.restore();
// canvas.translate(20,20);
// canvas.restore();
}
canvas的clipRect是裁剪绘制区域; translate是移动的坐标点,裁剪,或绘制都相对于当前位置,canvas的原本绘制区域不变;