Animate Canvas随着时间的推移

时间:2013-12-06 23:22:45

标签: android android-canvas

原始问题: 我试图在画布上一个接一个地绘制矩形。我想在绘制每个对象之前暂停一秒钟。我该如何实现此功能?


编辑: 这是我到目前为止工作的代码。不确定这是否是最佳做法。如果你知道一个,建议一个更好的方法。

boolean stopAnimation = false;

int currentRectangle = 0;
Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
    invalidate();
    System.out.println("redraw"+currentRectangle);
    currentRectangle++;
        if(currentRectangle>2){
          stopAnimation = true;
        }
};
};

public void onDraw(final Canvas canvas) {
    final Rect currentRect = new Rect(a, 0, b, c);
    canvas.drawRect(currentRect, paint); //wait a lil bit
    canvas.drawRect(newRect, paint);
}

public void run() {
   while (!stopAnimation) {
         try {
             Thread.sleep(200);
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
             handler.sendEmptyMessage(0);
   }
}

1 个答案:

答案 0 :(得分:0)

我相信这会解决你的问题:

How to pause for 5 seconds before drawing the next thing on Android?

如果您需要具体信息,请回复,我很乐意为您提供帮助。