首页 > 解决方案 > 在 Jetpack compose 中绘制动画圆

问题描述

我正在尝试使用drawCircleonCanvas为圆形绘图设置动画,如下所示:

 drawCircle(
     color = Color.Black,
     radius = 200f * animatableCircle.value,
     center = Offset(size.width / 4, size.height / 4),
     style = Stroke(2f)
)

在此处输入图像描述 看起来不像是在画圆,而是圆从中心开始按比例缩放。是否可以实现如图所示的沿半径绘制的圆形效果CircularProgressIndicator在此处输入图像描述

标签: androidkotlinandroid-jetpack-compose

解决方案


使用drawArc如下,

 drawArc(
     color = Color.Black,
     startAngle = 0f,
     sweepAngle = 360f * animatableCircle.value,
     useCenter = false,
     topLeft = Offset(size.width / 4, size.height / 4),
     size = Size(CIRCLE_RADIUS * 2 ,
                 CIRCLE_RADIUS * 2),
     style = Stroke(2.0f))

推荐阅读