我有一个自定义视图,绘制了几个圆和大约10个弧形,它们不断更新(旋转和大小变化)。我试图对整个过程进行动画处理,但是在Canvas下我找不到任何好的做法(我知道基本原理-使用dp而不是px等),但我不知道如何正确地进行动画处理。
目前,我正在迭代所有对象,执行一些计算以确定未来位置并绘制它们,但它看起来很卡顿。这是我目前正在做的事情:
目前,我正在迭代所有对象,执行一些计算以确定未来位置并绘制它们,但它看起来很卡顿。这是我目前正在做的事情:
@Override
protected void onDraw(Canvas canvas) {
for(Arch arch : arches) {
arch.update();
canvas.drawArc(arch.getRect(), -arch.getCurrentRotation(), arch.getSweepAngle(), true, paint);
}
//logo.draw(canvas);
canvas.drawCircle(width / 2, height / 2, circle_size, paint_opaque);
logo.draw(canvas);
int textX = (int) (width / 2);
int textY = (int) ((height / 2) - ((paint_text.descent() + paint_text.ascent()) / 2));
canvas.drawText(text, textX, textY, paint_text);
invalidate();
}