canvas教程

试图清除 Android SurfaceView/Canvas 时闪烁

字号+ 作者:H5之家 来源:H5之家 2017-01-22 09:14 我要评论( )

我想使用 canvas.drawColor(Color.BLACK) 来清除Canvas,但是如果我只调用一次,显示闪烁,显示旧的图画,这个图画应该被drawColor覆盖。 部分代码: public void

试图清除 Android SurfaceView/Canvas 时闪烁

我想使用 canvas.drawColor(Color.BLACK) 来清除Canvas,但是如果我只调用一次,显示闪烁,显示旧的图画,这个图画应该被drawColor覆盖。
部分代码:

public void update() { //This method is called by a Thread Canvas canvas = holder.lockCanvas(null); if (canvas != null) { onDraw(canvas); } holder.unlockCanvasAndPost(canvas); } @Override protected void onDraw(Canvas canvas) { if (toClear) { canvas.drawColor(Color.BLACK); //if this is not set to change back to false, it does not flicker toClear = false; } //Draw some objects that are moving around } public void clearScreen() { //This method is called when the user pressed a button toClear = true; }

我查找了关于double buffering的资料,了解到lockCanvas() 和 unlockCanvasAndPost() 可以处理这个问题。现在是哪里出错了呢?

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  •  canvas元素简易教程(11)

    canvas元素简易教程(11)

    2017-01-22 10:00

  • 微信小程序 canvas开发实例及注意事项

    微信小程序 canvas开发实例及注意事项

    2017-01-21 18:03

  • 基于HTML5 Canvas的饼状图表实现教程

    基于HTML5 Canvas的饼状图表实现教程

    2017-01-21 08:00

  • Android 自定义View学习(七)

    Android 自定义View学习(七)

    2017-01-20 18:09

网友点评
9