Android Compose создает анимацию встряхивания ⇐ Android
-
Anonymous
Android Compose создает анимацию встряхивания
Я пытаюсь создать анимацию тряски фигуры в Jetpack Compose. Я хочу использовать эту анимацию, чтобы показывать ошибку, когда пользователь вводит неверный пин-код. Но все, что я могу найти, это анимацию выдвижения и выдвижения и некоторую анимацию масштабирования. Есть идеи, как я могу это сделать?
Обновление: После ответа @Thracian. Я использовал код, показанный ниже, встряхивая предметы по горизонтали:
fun Modifier.shake(включено: Boolean, onAnimationFinish: () -> Unit) = составлен( фабрика = { Расстояние val от animateFloatAsState( targetValue = если (включено) 15f, иначе 0f, анимацияSpec = повторяемый( итерации = 8, анимация = tween(durationMillis = 50, easing = LinearEasing), режим повторения = Режим повторения.Обратный ), законченный прослушиватель = { onAnimationFinish.invoke() } ) Модификатор.graphicsLayer { TranslationX = если (включено) расстояние еще 0f } }, инспекторИнфо = debugInspectorInfo { имя = "встряхнуть" свойства["включено"] = включено } )
Я пытаюсь создать анимацию тряски фигуры в Jetpack Compose. Я хочу использовать эту анимацию, чтобы показывать ошибку, когда пользователь вводит неверный пин-код. Но все, что я могу найти, это анимацию выдвижения и выдвижения и некоторую анимацию масштабирования. Есть идеи, как я могу это сделать?
Обновление: После ответа @Thracian. Я использовал код, показанный ниже, встряхивая предметы по горизонтали:
fun Modifier.shake(включено: Boolean, onAnimationFinish: () -> Unit) = составлен( фабрика = { Расстояние val от animateFloatAsState( targetValue = если (включено) 15f, иначе 0f, анимацияSpec = повторяемый( итерации = 8, анимация = tween(durationMillis = 50, easing = LinearEasing), режим повторения = Режим повторения.Обратный ), законченный прослушиватель = { onAnimationFinish.invoke() } ) Модификатор.graphicsLayer { TranslationX = если (включено) расстояние еще 0f } }, инспекторИнфо = debugInspectorInfo { имя = "встряхнуть" свойства["включено"] = включено } )
Мобильная версия