I have a translate animation like this
fun createTranslateAnimation(fromX: Float, toX: Float, fromY: Float, toY: Float):
ObjectAnimator {
val propertyValuesX = PropertyValuesHolder.ofFloat(View.TRANSLATION_X, fromX, toX)
val propertyValuesY = PropertyValuesHolder.ofFloat(View.TRANSLATION_Y, fromY, toY)
return ObjectAnimator.ofPropertyValuesHolder(imageView,
propertyValuesX,
propertyValuesY)
.apply {
duration = 3000
}
}
I specified the duration 3000ms. But when I run the app, the animation is executing 2 times faster. So I've put some logs like this.
val objectAnim = createTranslateAnimation(xValueFrom, xValueTo, yValueFrom, yValueTo)
objectAnim.apply {
doOnStart {
time = System.currentTimeMillis()
}
doOnEnd {
val elapsedTime = System.currentTimeMillis() - time
Log.d("$elapsedTime seconds")
}
start()
}
At the end the result is - 1518 seconds
What am I doing wrong? If I specify the duration of 3000ms, why is it executing two times faster?