Intereting Posts
Импорт не используется в Android Studio Котлин – эквивалентность комбинации Свифта «если пусть + литье» Как я могу написать идиоматический код kotlin, который перебирает подпроцесс и обрабатывает его вывод? Проверьте, является ли класс допустимым значением для KParameter Gradle KTS. Как переместить конфигурацию зависимостей в отдельный файл из основной сборки? JEXL3 – Невозможно переопределить bitwiseXor в JexlArithemtic? Передача параметров пользовательскому получателю в котлин Есть ли какой-нибудь способ в Kotlin переплетаться в коде перед / после / вокруг функции, как есть с AspectJ в Java? Запрос на Android всегда дает исключение тайм-аута сокета Клавиатура скрывает BottomSheetDialogFragment Создание активности для входа в систему Как установить делегированное значение свойства путем отражения в котлин? Не удается отправить многостраничные данные / данные формы с помощью Volley Котлин: Почему я не могу использовать одну из своих функций? Как реализовать экспоненциально уменьшающуюся средневзвешенную

Пауза и возобновление анимации Lottie

Я использую анимацию Lottie, и вся анимация отлично работает! Однако я хотел бы добавить немного кода, который приостанавливает анимацию после 30 кадров, после чего я могу возобновить ее через определенное время. Вот код до сих пор

animationView.playAnimation(0, 30) animationView.addAnimatorListener(object : Animator.AnimatorListener { override fun onAnimationEnd(animation: Animator) { if (isLoading == false) { //Everything has loaded. Continue Animation //This line has no effect. The animation does not continue animationView.playAnimation(30, 60) //Resuming the animation just makes the animation disappear //animation.resume() } } 

Любой совет будет принят во внимание!

Solutions Collecting From Web of "Пауза и возобновление анимации Lottie"

Что вы можете сделать, это использовать прогресс от LottieAnimationView, потоков и флага, это позволит вам сделать паузу при определенном прогрессе и возобновить точно, когда вам нужно снова воспроизвести свою анимацию

Я создал следующий пример:

 animationView.playAnimation() animationView.loop(false) isAnimating = true // Setup your flag thread { while (isAnimating){ // Loop that checks the progress of your animation if (animationView.progress >= 0.5f){// If animation reaches 50% runOnUiThread { animationView.pauseAnimation()// Pause Animation } Thread.sleep(5000) // Pause for 5 seconds runOnUiThread { animationView.playAnimation(0.5f,1f) // Resume your animation from 50% to 100% } isAnimating = false } if(animationView.progress >= 1f){ // If animation reaches 100% stop animation runOnUiThread { animationView.cancelAnimation() isAnimating = false } } } } 

Надеюсь, поможет.