AnimateDecay
- 衰减型动画。
- 如具备初速度,随后慢慢衰减到结束的消散型动画。
场景
- 惯性衰减类型的动画,就都建议使用animateDecay
- 如:
- 列表滑动的Fling操作,就是一种常见的惯性衰减。
属性 |
解释 |
initialVelocity |
动画的初始速度 |
animationSpec |
DecayAnimationSpec,消散型动画的实现 |
- 特性:
- 只有初始速度,没有具体的目标值,衰减模型不需要我们指定一个目标值。
DecayAnimationSpec
exponentialDecay
val decayAnimate = remember {
Animatable(1.0f)
}
var decayControl by remember {
mutableStateOf(false)
}
val decay = exponentialDecay<Float>()
LaunchedEffect(decayControl) {
// remember { exponentialDecay<>() }
// remember { splineBasedDecay<>() }//spline 样条函数曲线(Android惯性滑动的函数曲线)
decayAnimate.snapTo(1.0f)
decayAnimate.animateDecay(2.0f, decay)
}
Box(modifier = Modifier
.width(700.dp)
.height(360.dp)
.scale(decayAnimate.value)
.clickable(
) {
decayControl = !decayControl
}
){
Text("test for code")
}
rememberSplineBasedDecay/splineBasedDecay
- spline :样条函数曲线(Android惯性滑动的函数曲线)
- 可以实现像Android原生里,OverScroller相关的Fling等滑动的效果.
缺点: