我想要实现的目标:
径向渐变,开始和结束颜色随着时间的推移从一种定义的颜色到另一种颜色的平滑变化.
到目前为止我尝试过的:
像这样使用ObjectAnimator:
searchAnimator = ObjectAnimator.ofFloat(drawThread, new Property(Float.TYPE, "fraction") {
@Override
public Float get(DrawThread object) {
return object.fraction;
}
@Override
public void set(DrawThread object, Float value) {
object.setFraction(value);
}
}, 0, 1);
searchAnimator.setDuration(maxSearchDuration);
searchAnimator.setInterpolator(new LinearInterpolator());
这将调用DrawThread.setFraction(value);随着时间的推移.在线程内部,我使用SurfaceView执行Canvas绘图,如下所示:
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setDither(true);
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
radius = (int) Math.sqrt(canvas.getWidth() / 2 * canvas.getWi