Jetpack Compose:如何绘制这样的路径

Diy*_*mov 0 android android-jetpack-compose android-jetpack-compose-canvas

我想通过这样的方式来表达两点:

图像!

有什么可以参考的吗?

Gab*_*tti 6

只需使用 aCanvas画 2 个圆和 1 条线。

Canvas(Modifier.fillMaxSize()){

    val radius = 64f //radius of circles
    val strokeWidth = 20f 
    val lineHeight = 300f
    val centerFirstCircle = Offset(100f, 100f)

    drawCircle(
        color = Color.Red,
        radius = radius,
        center = centerFirstCircle,
        style = Stroke(width = strokeWidth)
    )

    //calculate the start and end of the vertical line
    val xLine = centerFirstCircle.x
    val yLine = centerFirstCircle.y + radius + strokeWidth/2

    drawLine(
        color = Red,
        start = Offset(xLine, yLine),
        end = Offset(xLine , yLine + lineHeight),
        strokeWidth = strokeWidth
    )

    //calculate the center of the second circle
    val centerSecondCircle = Offset( centerFirstCircle.x,
        centerFirstCircle.y + (radius*2) + lineHeight + (strokeWidth/2 *2) )

    drawCircle(
        color = Color.Red,
        radius = radius,
        center = centerSecondCircle,
        style = Stroke(width = strokeWidth)
    )
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述