Как изменить начальную позицию пути для addRoundRect? - PullRequest
0 голосов
/ 02 июля 2019

Я делаю Custom Progress bar с закругленными углами, используя android Path class.

Проблема

Я сталкиваюсь с проблемой при изменении начальной позиции пути для рисования круглого прямоугольника при вызове path.addRoundRect(...)

код

    RectF rect = new RectF(0, 0, w, h);
    float inset = paint.getStrokeWidth();
    rect.inset(inset, inset);

    path.addRoundRect(rect, 15, 15, Path.Direction.CW);

    float length = new PathMeasure(path, false).getLength();

    float intervals{0, 0}
    intervals[0] = intervals[1] = length;

    PathEffect effect = new DashPathEffect(intervals, length - length * progress / 100);
    paint.setPathEffect(effect);

    canvas.draw(path, paint);

На рисунке ниже, когда нарисованный прямоугольник начинает рисоваться от красной стрелки, но я хочу, чтобы он начинался с позиции, обозначенной зеленой стрелкой.

enter image description here

...