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)
)
}
1条答案
按热度按时间gab6jxml1#
只需使用
Canvas
并绘制2个圆和1条直线。