У меня есть этот холст с кругами:
Если вы видели рисунок, на нем есть точки на холсте. Я пытаюсь нарисовать линии от одной точки к другой с помощью анимации. Вот код: (То, что я должен упомянуть заранее, что этот код генерирует строки, но они исчезают при старте снова)
@Override
protected void onDraw(Canvas canvas) {
float y = getHeight() / 20 * 14;
float x = getWidth() / 8;
float radius = (canvas.getWidth() * canvas.getHeight()) / 40940;
for (int c = 1; c < 8; c++) {
System.out.println("at " + c);
canvas.drawCircle(x * c, y - ((getHeight() / 20) * (height.get(c - 1) / 10)), radius, circle);
if (c < 7) {
calc(canvas, x * c, y - (getHeight() / 20) * (height.get(c - 1) / 10), x * (c + 1), y - (getHeight() / 20) * (height.get(c) / 10));
}
}
}
private void calc(Canvas canvas, float x1, float y1, float x2, float y2) {
listOfPoints.clear();
for (int k = 1; k <= 50; k++) {
listOfPoints.add(new PointF(x1 + ((k * (x2 - x1)) / 50), y1 + (k * (y2 - y1)) / 50));
}
if (inte < listOfPoints.size()) {
canvas.drawLine(listOfPoints.get(0).x, listOfPoints.get(0).y, listOfPoints.get(inte).x, listOfPoints.get(inte).y, line);
inte++;
if (inte < listOfPoints.size()) {
invalidate();
}
}
System.out.println(listOfPoints + " list of points");
// x and y coordinates
}
Я надеюсь решить эту проблему без дополнительного класса. Что я могу попробовать?