Я пытаюсь добавить задержку к повторяющейся анимации, но startDelay не работает. Похоже, это нормально работает, когда анимация воспроизводится в первый раз.
val path = Path().apply {
moveTo(imageView.x, imageView.y)
lineTo(x.toFloat(), y.toFloat())
}
ObjectAnimator.ofFloat(imageView, View.X, View.Y, path).apply {
duration = Random.nextLong(500, 1000)
startDelay = 1000
doOnEnd {
startDelay = 3000
}
start()
}
Я также пробовал использовать Timer
и Handler().postDelayed
, но это даже не повторяется:
val path = Path().apply {
moveTo(imageView.x, imageView.y)
lineTo(x.toFloat(), y.toFloat())
}
ObjectAnimator.ofFloat(imageView, View.X, View.Y, path).apply {
duration = Random.nextLong(500, 1000)
startDelay = 1000
doOnStart {
Timer().schedule(object : TimerTask() {
override fun run() {
repeatCount = 1
repeatMode = ValueAnimator.REVERSE
}
}, 3000)
}
start()
}
Как добиться повторения в обратном режиме с задержкой?