android中SurfaceHolder调用lockCanvas(rect)后rect为什么会改变

安西都护府首席程序员 发布于 2013/12/04 16:39
阅读 1K+
收藏 0
Rect total=new Rect(rect.left-width, rect.top-width, rect.right+width, rect.bottom+width);
Canvas canvas=surfaceView.getHolder().lockCanvas(total);

这一句非常简单,就是调用lockCanvas 得到Canvas,调用的后传入的参数total竟然变了,而且变成了全屏的大小,这是为什么




加载中
0
zhangqing
zhangqing
刚创建的时候画布上没东西,就锁不住,你可以在create的时候锁两次画布清屏就ok的拉,surfaceview双缓存
zhangqing
zhangqing
回复 @我是党卫军 : create之后先别lockCanvas(rect),先直接lockCanvas(),然后清屏,再lockCanvas(),再清屏,然后你再搞你的lockCanvas(rect)就可以了
安西都护府首席程序员
安西都护府首席程序员
回复 @zhangqing : 没有,没有任何操作,在create之后就马上lockCanvas
zhangqing
zhangqing
回复 @我是党卫军 : 你lockCanvas(rect)之前有对画布进行过操作不
安西都护府首席程序员
安西都护府首席程序员
我创建好了的
返回顶部
顶部