循环使用XML Animator

时间:2017-01-16 10:25:56

标签: android

对于AnimatedVectorDrawableCompat,我正在尝试实现以下动画:

  1. 在200ms内上升
  2. 在200ms内下降
  3. 600ms不做任何事。
  4. 回到1永远循环
  5. 由于这是AnimatedVectorDrawableCompat,Animator必须用XML编写。您无法在动画矢量drawable ...的压缩版动画中添加侦听器。

    使用纯XML,我可以执行步骤1-2-4或1-2-3。我不能让一个动画师在600毫秒休息然后循环。

    这就是我1-2-4的方式:

    <objectAnimator
        android:duration="200"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="translateY"
        android:valueFrom="0"
        android:repeatCount="-1"
        android:repeatMode="reverse"
        android:valueTo="-20"
        android:valueType="floatType"/>
    

    以下是我如何做1-2-3,但这不是循环......

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
        android:ordering="sequentially">
    
        <objectAnimator
            android:duration="200"
            android:interpolator="@android:interpolator/accelerate_decelerate"
            android:propertyName="translateY"
            android:valueFrom="0"
            android:valueTo="-20"
            android:valueType="floatType"/>
    
        <objectAnimator
            android:duration="200"
            android:interpolator="@android:interpolator/accelerate_decelerate"
            android:propertyName="translateY"
            android:valueFrom="-20"
            android:valueTo="0"
            android:valueType="floatType"/>
    
        <objectAnimator
            android:duration="600"
            android:interpolator="@android:interpolator/accelerate_decelerate"
            android:propertyName="translateY"
            android:valueFrom="0"
            android:valueTo="0"
            android:valueType="floatType"/>
    </set>
    

    如何使用纯XML轻松循环动画集?

    由于

0 个答案:

没有答案