0
每次調用onDraw()
時,我都會在畫布上繪製一系列點。我如何動畫一個點,以便它改變顏色或淡入淡出?所以基本上是從橙色 - >紅色,背部或不透明 - >透明,然後回來?在Android畫布上設置動畫點
我做了以下內容:
public void onDraw(Canvas canvas) {
drawDots();
}
private void drawDots() {
canvas.drawCircle(xcoord, ycoord, 20, getPaintObj(param));
}
private Paint getPaintObj(int param) {
if (param % 2 == 0) {
ObjectAnimator colorFade = ObjectAnimator.ofObject(paintObj, "color", new ArgbEvaluator(), 0xff00ff00, 0xffff0000, 0xff0000ff);
colorFade.setDuration(2000);
colorFade.setInterpolator(new LinearInterpolator());
colorFade.setRepeatCount(ValueAnimator.INFINITE);
colorFade.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
invalidate();
}
});
colorFade.start();
return paintObj;
} else {
return otherPaintObj;
}
}
的問題是,它沒有動畫。它堅持第一種顏色(0xff00ff00)。我究竟做錯了什麼?
要麼使用'ObjectAnimator'或'canvas ondraw'。 – Pr38y 2014-11-04 06:52:26