Graph2.kt
@Composable
fun Graph2() {
Box(
modifier = Modifier.padding(top = 120.dp)
) {
Graph2Pie()
}
}
@Composable
fun Graph2Pie() {
val pieSize1 = 25f
val pieSize2 = 75f
val colorList = listOf(Color.Red, Color.Blue)
PieChart(
pieSize1,
pieSize2,
colorList
)
}
@Composable
fun PieChart(
pieSize1 : Float,
pieSize2 : Float,
colorList : List<Color>
){
val totalSize = pieSize1 + pieSize2
BoxWithConstraints(
modifier = Modifier.padding(20.dp)
) {
val pieDetailSize = constraints.maxWidth.toFloat()
Canvas(modifier = Modifier.size(pieDetailSize.dp)){
val sweep1 = 360 * (pieSize1 / totalSize)
drawArc(
color = colorList[0],
startAngle = 0f,
sweepAngle = sweep1,
useCenter = true,
size = Size(pieDetailSize,pieDetailSize)
)
val sweep2 = 360 * (pieSize2 / totalSize)
drawArc(
color = colorList[1],
startAngle = sweep1,
sweepAngle = sweep2,
useCenter = true,
size = Size(pieDetailSize,pieDetailSize)
)
}
}
}
@Preview(showBackground = true)
@Composable
fun Graph2Preview() {
DefaultTheme {
Graph2()
}
}