Android invalidate不显示中间动画

时间:2014-03-15 05:40:54

标签: android android-canvas

这是我的代码。 在滑动到顶部时执行:

           for(int it = 0;it<4;it++){
                myBoard.step_up();

                invalidate();
            }       

            int ad = myBoard.merge_up();
            invalidate();
            for(int it = 0;it<4;it++){
                myBoard.step_up();
                invalidate();
            }   

step_up和merge_up方法会更改myBoard的值。 onDraw方法根据myBoard值绘制屏幕。但我看不到运动的中间结果!只需启动postition然后结束位置,就像在下面的代码中一样:

           for(int it = 0;it<4;it++){
                myBoard.step_up();
            }       

            int ad = myBoard.merge_up();
            for(int it = 0;it<4;it++){
                myBoard.step_up();
            }   
                invalidate();

如何处理这个问题?这对我来说非常重要

更新: 来自onCreate的代码:

   GraphicsView myview=new GraphicsView(this);
   setContentView(myview); 

GraphicsView整个代码太大了。它的一部分:

  public GraphicsView(Context context) { super(context); 

  this.setOnTouchListener(new OnSwipeTouchListener(getApplicationContext()) {

  public void onSwipeTop() {
                  //above code
  }
                 //other methods
  }
  protected void onDraw(Canvas canvas)
  {
             //draw
  }
  }

0 个答案:

没有答案