2016-02-18 19 views
7

Ho cercato di far funzionare vectorDrawables animato e ho fatto tutto secondo http://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html e ancora non funziona.AnimatedVectorDrawable non animato

Ho anche provato a far funzionare questo progetto. https://github.com/chiuki/animated-vector-drawable

Qualcuno sa perché non si anima?

Ecco i file che ho usato:

AnimatedVectorDrawable

<animated-vector 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:drawable="@drawable/circle"> 
​ 
    <target 
     android:name="circle" 
     android:animation="@anim/morph_to_drop"/> 
​ 
</animated-vector> 

VectorDrawable

<?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:width="80dp" 
     android:height="80dp" 
     android:viewportHeight="50" 
     android:viewportWidth="50"> 
​ 
    <path 
     android:name="circle" 
     android:fillColor="#607eff" 
     android:pathData="M15.9,0c8.776,0 15.9,7.125 15.9,15.9c0,8.776 -7.124,16.015 -15.9,16.015c-8.775,0 
-15.9,-7.239 -15.9,-16.015c0,-8.775 7.125,-15.9 15.9,-15.9Z"/> 
​ 
</vector> 

Animator (morph_to_drop)

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <objectAnimator 
     android:duration="1000" 
     android:propertyName="pathData" 
     android:valueFrom="M15.9,0c8.776,0 15.9,7.125 15.9,15.9c0,8.776 -7.124,16.015 -15.9,16.015c-8.775,0 
-15.9,-7.239 -15.9,-16.015c0,-8.775 7.125,-15.9 15.9,-15.9Z" 
     android:valueTo="M15.9,0c8.776,0 15.9,7.125 15.9,15.9c0,8.776 -12.626,30.167 
-15.707,30.143c-3.08,-0.024 -16.093,-21.367 -16.093,-30.143c0,-8.775 7.125,-15.9 
15.9,-15.9Z" 
     android:valueType="pathType"/> 
</set> 

layout principale

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
​ 
    <ImageView 
     android:id="@+id/testImage" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_centerInParent="true" 
     android:src="@drawable/circle"/> 
​ 
</RelativeLayout> 
+0

puoi postare morph_to_drop questo file animato? – Harshad

+0

che in realtà era il file che ho appena chiamato "animatore" - è ora aggiunto :) –

risposta

13

tenta di impostare l'AnimatedVectorDrawable di programmazione come questo:

AnimatedVectorDrawable d = (AnimatedVectorDrawable) getDrawable(R.drawable.animated_vector); // Insert your AnimatedVectorDrawable resource identifier 
mImageView.setImageDrawable(d); 
d.start(); 

Questo dovrebbe fare il trucco. Saluti!

+0

che è stato veloce e funziona, grazie! ho pensato che una volta funzionava senza impostarlo a livello di codice, ma comunque :) –

+0

non ha funzionato per me :( –