Каждый раз, когда вызывается 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