'How could I design a multi circular progress bar in jetpack compose?
I'm trying to design a progress bar showing multi-progress using jetpack compose but I did not find any library or helping material. I am just able to design a single progress bar but I need to design like
.
Solution 1:[1]
Just use multiple CircularProgressIndicator inside a Box:
Box(contentAlignment = Alignment.Center) {
CircularProgressIndicator(
progress = 0.45f,
color = Red,
modifier = Modifier.then(Modifier.size(60.dp)))
CircularProgressIndicator(
progress = 0.55f,
color = Green,
modifier = Modifier.then(Modifier.size(80.dp)))
CircularProgressIndicator(
progress = 0.75f,
color = Blue,
modifier = Modifier.then(Modifier.size(100.dp)))
}
If you want to draw also the circular track you can build a custom Composable with a Canvas + CircularProgressIndicator.
Something like:
val stroke = with(LocalDensity.current) {
Stroke(width = ProgressIndicatorDefaults.StrokeWidth.toPx(), cap = StrokeCap.Butt)
}
Canvas(modifier = Modifier.size(60.dp)){
val diameterOffset = stroke.width / 2
drawCircle(
radius = size.minDimension / 2.0f-diameterOffset,
color= LightGray,style = stroke)
}
CircularProgressIndicator(
progress = 0.45f,
color = Red,
modifier = Modifier.then(Modifier.size(60.dp)))
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |


