【问题标题】:Android set percentages for object animatorAndroid为对象动画师设置百分比
【发布时间】:2018-09-17 13:09:41
【问题描述】:

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

使用旧动画我可以做到:

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"/>

但是好像没有效果。

【问题讨论】:

    标签: android android-animation


    【解决方案1】:

    无法通过 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多