用android画布绘制的动画/ flash圆圈

时间:2014-01-05 21:05:50

标签: java android android-layout android-canvas android-view

我有自定义视图。我重写了onDraw方法来绘制一个实心圆圈等等。我希望圆圈在红色和蓝色之间闪烁,间隔可以是100毫秒。我如何完成这样的动画?到目前为止我已经

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

1 个答案:

答案 0 :(得分:2)

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);
}

在构造函数中调用延迟的帖子,或者在其他感觉相关的函数中调用。