Добрый день, пишу кастомное вью Circular Progress Bar'a как в Material 3. Удалось нарисовать кольцо прогресса и его заполнение в зависимости от заданного процента прогресса. Не могу понять, как мне поделить на секции мой прогресс бар? Секций может быть от 0 до 4. В зависимости от заполнения (25, 50, 75, 100) процентов.
Собственно вся магия происходит в методе onDraw.
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
canvas.drawOval(rectF, backgroundPaint) //рисуем серый круг
val angle = 360 * progressValue / progressMaxValue //вычисляем прогресс заполнения относительно максимального
canvas.drawArc(rectF, startAngle, angle, false, progressPaint) //рисуем сам прогресс
}