小编Cla*_*ire的帖子

Jetpack Compose 弧形/圆形进度条动画(如何重新启动动画)

如何创建这样的弧形进度条动画

动画进展

目前我已经使用 Canvas 绘制圆弧并使用 animateFloatAsState API 将动画添加到进度条。但第二张照片不是我的预期。

[我目前的实施]

我目前的实施

// e.g. oldScore = 100f  newScore = 350f
// Suppose 250 points are into one level

@Composable
fun ArcProgressbar(
    modifier: Modifier = Modifier,
    oldScore: Float,
    newScore: Float,
    level: String,
    startAngle: Float = 120f,
    limitAngle: Float = 300f,
    thickness: Dp = 8.dp
) {

    var value by remember { mutableStateOf(oldScore) }

    val sweepAngle = animateFloatAsState(
        targetValue = (value / 250) * limitAngle,  // convert the value to angle
        animationSpec = tween(
            durationMillis …
Run Code Online (Sandbox Code Playgroud)

android android-progressbar android-jetpack-compose jetpack-compose-animation compose-recomposition

9
推荐指数
1
解决办法
1711
查看次数