2014-01-05 37 views
0

我有一个自定义视图。我重写了onDraw方法来绘制实心圆以及其他内容。我希望圆形在红色和蓝色之间闪烁,间隔可以是100毫秒。我将如何完成这样的动画?到目前为止,我有使用android canvas绘制的动画/ flash圈子

@Override 
protected void onDraw(Canvas canvas) { 
    this.mFilledPaint.setColor(Color.BLUE); 
    canvas.drawCircle(x, y, radius, mFilledPaint); 
} 

回答

1
int color = Color.BLUE; 
postDelayed(new Runnable() { 
    @Override 
    public void run() { 
     color = (color == Color.BLUE) ? Color.Black : Color.BLUE; 
     invalidate(); 
     postDelayed(this, 100); 
    } 
}, 100); 

@Override 
protected void onDraw(Canvas canvas) { 
    this.mFilledPaint.setColor(color); 
    canvas.drawCircle(x, y, radius, mFilledPaint); 
} 

呼叫你觉得相关的构造函数或反对其他功能延迟后。

+0

感谢您的回复。在我的方法中,你的代码段会去哪里?你能否重写我的'onDraw'以包含你的代码片段?我玩弄它,没有任何工作。我甚至改变了100到1000 – learner

+0

看到编辑答案.. – Triode