j2me移动到android时,你可能须要用到clipRect这个方法,咱们用它来截取必定区域,让来看看j2me和android有什么不一样吧java
Android code:android
- canvas.save();
- canvas.clipRect(x,y, x+width, y+height)
- canvas.restore();
canvas.save();//保存当前状态
canvas.clipRect(x,y, x+width, y+height)
cavnas.resave();//释放当前状态
J2ME code:canvas
- int clipX = g.getClipX();
- int clipY = g.getClipY();
- int clipWidth = g.getClipWidth();
- int clipHeight = g.getClipHeight();
- g.clipRect(x, y, width, height);
- g.setClip(clipX, clipY, clipWidth, clipHeight);
int clipX = g.getClipX();
int clipY = g.getClipY();
int clipWidth = g.getClipWidth();
int clipHeight = g.getClipHeight();
g.clipRect(x, y, width, height);
g.setClip(clipX, clipY, clipWidth, clipHeight);//释放当前状态
比较两段代码,Android比较简洁,要注意的是canvas.clipRect(left, top, right, bottom),它们的坐标为left, top, right, bottom,因此要加上x,y,这一点在刚开始开发j2me转android时会发现有些区别,也容易忽略,像fillRect,drawRect等方法也和j2me有区别!spa
j2me需用setClip释放当前状态,而android没必要!rest