Android中的surfaceHolder.lockCanvas(null)返回为null详解

对于新手学习SurfaceView的时候获取lockCanvas的时候总是返回null的问题很是纠结

canvas = surfaceHolder.lockCanvas(new Rect(0, 0, 300,getWindowManager().getDefaultDisplay().getHeight()));

原因是surfaceView里面调用draw()的时候,获取的控件的width和height都是0,然后把它放到OnClickListener里面用,结果没有问题了,所以在获取到width和height不为0的地方调用就可以了。

posted @ 2013-11-27 16:48  roccheung  阅读(1812)  评论(0编辑  收藏  举报