如何在Jetpack Compose中实现PIN码错误提示的形状抖动动画?
在Jetpack Compose中实现抖动动画(无效PIN码错误提示)
我想在Jetpack Compose里给形状加上抖动动画,用来在用户输入无效PIN码时展示错误提示,但目前只找到滑入、滑出和缩放类的动画,不知道怎么实现抖动效果。
更新:参考@Thracian的回答后,我用以下代码实现了元素的水平抖动:
fun Modifier.shake(enabled: Boolean, onAnimationFinish: () -> Unit) = composed( factory = { val distance by animateFloatAsState( targetValue = if (enabled) 15f else 0f, animationSpec = repeatable( iterations = 8, animation = tween(durationMillis = 50, easing = LinearEasing), repeatMode = RepeatMode.Reverse ), finishedListener = { onAnimationFinish.invoke() } ) Modifier.graphicsLayer { translationX = if (enabled) distance else 0f } }, inspectorInfo = debugInspectorInfo { name = "shake" properties["enabled"] = enabled } )
内容的提问来源于stack exchange,提问作者Rafael
相关产品推荐
相关产品推荐

