使用canvas的Android图形动画
我正在尝试为我的图形设置动画,这意味着可以看到绘制的图形曲线。该图如下所示: 目前,我可以使用以下代码为图形设置动画:使用canvas的Android图形动画,android,animation,canvas,graph,colors,Android,Animation,Canvas,Graph,Colors,我正在尝试为我的图形设置动画,这意味着可以看到绘制的图形曲线。该图如下所示: 目前,我可以使用以下代码为图形设置动画: public void startAnimation() { // Measure the path PathMeasure measure = new PathMeasure(mAnimationPath, false); length = measure.getLength(); O
public void startAnimation() {
// Measure the path
PathMeasure measure = new PathMeasure(mAnimationPath, false);
length = measure.getLength();
ObjectAnimator animator = ObjectAnimator.ofFloat(EmotionsGraphView.this, "phase", 1.0f, 0.0f);
animator.setDuration(1000);
animator.start();
}
}
//is called by animtor object
public void setPhase(float phase) {
Log.d("pathview", "setPhase called with:" + String.valueOf(phase));
mAnimationPaint.setPathEffect(createPathEffect(length, phase, 0.0f));
mAnimationPaint.setColor(Color.RED);
invalidate();//will calll onDraw
}
private static PathEffect createPathEffect(float pathLength, float phase, float offset) {
return new DashPathEffect(new float[]{pathLength, pathLength},
Math.max(phase * pathLength, offset));
}
在我的onDraw方法中:
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(mAnimationPath, mAnimationPaint);
}
我对此有以下疑问:
有人能帮忙吗。提前谢谢 每个颜色/线条样式都需要一个路径。如果有多条路径(第二条路径从第一条路径的端点开始,以进行平滑过渡),则可以为每条路径设置不同的绘制,从而为每条路径设置不同的样式。这意味着,路径和绘制的数组列表?在onDraw()中,我需要运行一个循环来获得路径并绘制颜色?那会有帮助的。请建议。是的-这将是一个解决方案此解决方案不起作用。。图形仍在使用上次设置的颜色绘制。是否将正确的绘制作为参数传递<代码>绘图路径(路径,绘制)是。我已经为path和paint创建了一个单独的类。我正在将此类的对象添加到arraylist中。在onDraw()方法中,我遍历数组列表并绘制图形。但它不起作用(