by animateFloatAsState(
targetValue = 360f,
animationSpec = tween(
durationMillis = 5000,
easing = LinearEasing
)
)
Canvas(modifier = Modifier.size(150.dp)) {
drawArc(
SolidColor(Color.Magenta),
startAngle = 0f,
sweepAngle = sweep,
style = Stroke(width = 3f),
useCenter = false
)
}
}
Дуга рисуется сразу с targetValue sweep.
Видимо я упускаю из виду какую-то фундаментальную особенность работы со state, но пока не осознал.
animateFloatAsState отвечает за плавную смену target, и ты выставляешь значение в 360 и все, анимации нет val sweep by animateFloatAsState( targetValue = if(isStart) 0f else 360f, и будешь менять isStart то анимация запустится
Обсуждают сегодня