I tried to get animated vectorDrawables working and did everything according to http://developer.android.com/reference/android/graphics/drawable/AnimatedVectorDrawable.html and it still does not work.
I also tried to make this project work. https://github.com/chiuki/animated-vector-drawable
Does anyone know why it does not animate?
Here are the files I used:
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>
Main Layout
<?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>
Try to set the AnimatedVectorDrawable programmatically like this:
AnimatedVectorDrawable d = (AnimatedVectorDrawable) getDrawable(R.drawable.animated_vector); // Insert your AnimatedVectorDrawable resource identifier
mImageView.setImageDrawable(d);
d.start();
This should do the trick. Cheers!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With