Slide 65
Slide 65 text
✅ ViewPropertyAnimator
val fraction: Float = if (enabled) 1f else 0f
view.animate().cancel()
view.animate()
.setStartDelay(300L) // ms
.setDuration(1000L) // ms
.setInterpolator(FastOutSlowInInterpolator())
.translationX(lerp(0f, 100f, fraction))
.translationY(lerp(0f, 50f, fraction))
.rotationX(lerp(0f, 90f, fraction))
.rotationY(lerp(0f, 90f, fraction))
.scaleX(lerp(1f, 1.5f, fraction))
.scaleY(lerp(1f, 0.5f, fraction))
.alpha(lerp(1f, 0f, fraction))
.withLayer()
val fraction: Float by animateFloatAsState(
targetValue = if (enabled) 1f else 0f,
animationSpec = tween(
delayMillis = 300,
durationMillis = 1000,
easing = FastOutSlowInEasing))
Box(modifier = Modifier.graphicsLayer {
translationX = lerp(0f, 100f, fraction)
translationY = lerp(0f, 50f, fraction)
rotationX = lerp(0f, 90f, fraction)
rotationY = lerp(0f, 90f, fraction)
scaleX = lerp(1f, 1.5f, fraction)
scaleY = lerp(1f, 0.5f, fraction)
alpha = lerp(1f, 0f, fraction)
// ೞ٘ਝয оࣘ ӝࠄ, b/193123882
})