Начальный путь RoundRect с DashPathEffect из центра
Я пытаюсь нарисовать путь прогресса, используя DashPathEffect и путь с круглым прямоугольником. Каждый раз, когда я получаю обновление прогресса, я обновляю путь, используя фазу.
private void updatePath(float phase) {
path.reset();
RectF rect = new RectF(0, 0, getWidth(), getHeight());
rect.inset(progressInset, progressInset);
path.addRoundRect(rect, progressRadius, progressRadius, Path.Direction.CW);
PathMeasure pathMeasure = new PathMeasure(path, false);
length = pathMeasure.getLength();
intervals[0] = length;
intervals[1] = length;
PathEffect effect = new DashPathEffect(intervals, phase);
paint.setPathEffect(effect);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
}
Это выглядит так: индикатор выполнения
Однако путь начинает рисовать от центра слева от фигуры; Интересно, можно ли начать рисовать путь от центральной вершины фигуры, не поворачивая фигуру? Я пытался переместить, который не работает? Любые предложения о том, как сделать начальную точку пути, чтобы быть центральной серединой?