2012-02-02 13 views
25

Estoy escribiendo una aplicación para Android y me gustaría reproducir una simple animación SVG. Soy consciente de que Android no ofrece soporte para SVG; ¿Cuáles son mis opciones aquí?Android y reproducción de animación SVG

+0

Me interesa también. –

+0

http://blog.sqisland.com/2014/10/first-look-at-animated-vector-drawable.html –

Respuesta

3
  1. Tome su imagen SVG y convertirlo en un VectorDrawable here
  2. Añadir su archivo XML descargado a su proyecto y ver cómo se ve. Aquí está un ejemplo de un VectorDrawable preparado para una rotación y morfo trayectoria de animación:

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

3 Ahora cree un AnimatedVectorDrawable donde se hace referencia a la rotationGroup y morfo camino en el creado VectorDrawable

<?xml version="1.0" encoding="UTF-8"?> 
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/vectordrawable"> 
    <target android:name="rotationGroup" android:animation="@anim/rotation" /> 
    <target android:name="v" android:animation="@anim/path_morph" /> 
</animated-vector> 

4 Crea dos animadores para el AnimatedVectorDrawable:

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

y:

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <objectAnimator 
     android:duration="3000" 
     android:propertyName="pathData" 
     android:valueFrom="M300,70 l 0,-70 70,70 0,0 -70,70z" 
     android:valueTo="M300,70 l 0,-70 70,0 0,140 -70,0 z" 
     android:valueType="pathType"/> 
</set> 

(También es posible definir todo esto en un solo archivo, consulte la docs here)

Una forma de continuación, iniciar la animación es imprescindible adquirir el dibujable desde el punto de vista y ejecuta start().

+0

¿Hay alguna lección sobre cómo podemos entender svg path? Y sus valores? – RoCk

Cuestiones relacionadas