Android 为对象动画师设置百分比

Android set percentages for object animator

我正在试用对象动画师,我对如何将值设置为百分比感到困惑。

使用旧动画我可以做到:

inside anim/translate.xml
<translate
    android:fromXDelta="0"
    android:toXDelta="80%p"
    android:duration="500"/>

但当我这样做时:

// inside animator/translate.xml
<objectAnimator
    android:propertyName="TranslationX"
    android:valueFrom="0"
    android:valueTo="80%p"
    android:duration="500"/>

我收到错误 java.lang.NumberFormatException: For input string: "80%p"

我试着查看 this answer 并添加了这个

<objectAnimator
    android:propertyName="xFraction"
    android:valueType="floatType"
    android:valueFrom="0"
    android:valueTo="0.8"
    android:duration="500"/>

不过好像没什么效果

无法通过 xml 完成,因此需要以编程方式更改设置百分比

val display = windowManager.defaultDisplay
val size = Point()
display.getSize(size)
val displayWidth = size.x * 0.8f

val objectAnimator = ObjectAnimator.ofFloat(myView, "translationX", 0f, displayWidth)
objectAnimator.duration = 500
objectAnimator.start()