ObjectAnimators 比给定的持续时间快两倍 - Android

ObjectAnimators are two times faster then the given duration - Android

我有这样的翻译动画

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
        }
}

我指定了持续时间 3000 毫秒。但是当我 运行 应用程序时,动画执行速度快了 2 倍。所以我放了一些这样的日志。

val objectAnim = createTranslateAnimation(xValueFrom, xValueTo, yValueFrom, yValueTo)
    objectAnim.apply {
        doOnStart {
            time = System.currentTimeMillis()
        }
        doOnEnd {
            val elapsedTime = System.currentTimeMillis() - time
            Log.d("$elapsedTime seconds")
        }
        start()
    }

最后的结果是 - 1518 秒

我做错了什么?如果我指定 3000 毫秒的持续时间,为什么它的执行速度会快两倍?

听起来设备 Developer options 部分中的 Animation duration scale 设置已更改。 据我所知,一旦 Developer options 和某些设置或值发生更改,您将无能为力,因此系统不会考虑它。