анимация линии холста застряла - PullRequest
0 голосов
/ 31 марта 2020

У меня есть этот холст с кругами:

image of canvas

Если вы видели рисунок, на нем есть точки на холсте. Я пытаюсь нарисовать линии от одной точки к другой с помощью анимации. Вот код: (То, что я должен упомянуть заранее, что этот код генерирует строки, но они исчезают при старте снова)

 @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
    }

Я надеюсь решить эту проблему без дополнительного класса. Что я могу попробовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...