Android动画矢量Drawable:在运行时更改旋转度

时间:2016-08-29 07:19:33

标签: android animation vector rotation

我正在尝试制作Android矢量动画,其中包含矢量组的旋转。基本上,如果学位转换是不变的,我会使用这些资源:

我的VectorDrawable:

<vector
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:width="64dp" 
    android:height="64dp" 
    android:viewportHeight="600" 
    android:viewportWidth="600">
    <group
        android:name="myRotationGroup" 
        android:pivotX="300.0" 
        android:pivotY="300.0" 
        android:rotation="0">
        <path
            android:name="myName" 
            android:fillColor="#000000" 
            android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z"/>
    </group>
</vector>

我的AnimatedVectorDrawable:

<animated-vector 
   xmlns:android="http://schemas.android.com/apk/res/android" 
   android:drawable="@drawable/my_vector_drawable" >
     <target
         android:name="myRotationGroup" 
         android:animation="@animator/my_rotation" />
 </animated-vector>

我的ObjectAnimator:

<objectAnimator
     android:duration="500" 
     android:propertyName="rotation" 
     android:valueFrom="0" 
     android:valueTo="360" />

但是,如上所示,最终旋转度在ObjectAnimator资源中设置,例如360°。

对于我的动画,如何以编程方式更改此最终值?需要使用其他一些数据计算旋转度,因此在动画开始之前我不知道目标值。

感谢您的帮助!

0 个答案:

没有答案