Android Jetpack可无限重复,重复开始延迟

Android Jetpack可无限重复,重复开始延迟,android,android-animation,android-jetpack-compose,Android,Android Animation,Android Jetpack Compose,我想在Jetpack Compose中创建一个具有一次性启动延迟的无限动画 我使用了infiniteRepeatable()和tween(): val值由RememberInfiniteTransension()指定。animateFloat( 初始值=0f, targetValue=1f, animationSpec=无限重复( 动画=吐温( 持续时间毫秒=700, 延迟毫秒=200 ) ) ) 在这种情况下,delayMillis将重复: *delay* 0..1, *delay* 0..

我想在
Jetpack Compose
中创建一个具有一次性
启动延迟的无限动画

我使用了
infiniteRepeatable()
tween()

val值由RememberInfiniteTransension()指定。animateFloat(
初始值=0f,
targetValue=1f,
animationSpec=无限重复(
动画=吐温(
持续时间毫秒=700,
延迟毫秒=200
)
)
)
在这种情况下,
delayMillis
将重复:

*delay* 0..1, *delay* 0..1, *delay* 0..1 , *delay* 0..1  ...
但在
ValueAnimator
中,
启动延迟
是一次性延迟:

val animator=ValueAnimator.卸载(0f,1f).应用{
持续时间=700
起始时间=200
repeatCount=ValueAnimator.INFINITE
addListener{/*值*/}
}
animator.start()
有没有办法为
Jetpack Compose
中的
无限重复的
设置一次性启动延迟

谢谢当前(
1.0.0-beta07
)不支持非重复延迟

您可以将动画更改为以下内容:

val animatedFloat = remember { Animatable(0f) }

LaunchedEffect(animatedFloat) {
    delay(200) // to avoid repeated delays
    animatedFloat.animateTo(
        targetValue = 1f, animationSpec = infiniteRepeatable(
            animation = tween(700, easing =  FastOutSlowInEasing),
            repeatMode = RepeatMode.Reverse
        )
    )
}
val animatedFloat = remember { Animatable(0f) }

LaunchedEffect(animatedFloat) {
    delay(200) // to avoid repeated delays
    animatedFloat.animateTo(
        targetValue = 1f, animationSpec = infiniteRepeatable(
            animation = tween(700, easing =  FastOutSlowInEasing),
            repeatMode = RepeatMode.Reverse
        )
    )
}