Android 关于画布canvas刷新的问题

Bitmapbitmap=Bitmap.createBitmap(200,150,Config.ARGB_8888);Canvascanvas=newCanvas(bit... Bitmap bitmap = Bitmap.createBitmap(200, 150, Config.ARGB_8888) ;
Canvas canvas = new Canvas (bitmap) ;
如果采用这种方式创建画布(不是在onDraw()里面绘图),要怎么刷新canvas上的内容呢。调用invalidate()应该无效吧?invalidate()直接调用了onDraw()
展开
 我来答
yugi111
推荐于2016-03-11 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
SurfaceHolder sh = SomeView.this.getHolder();
Canvas canvas = sh.lockCanvas();
try{
synchronized(sh){
onDraw(canvas);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(null != canvas){
sh.unlockCanvasAndPost(canvas);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式