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
Respuesta
- Tome su imagen SVG y convertirlo en un VectorDrawable here
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()
.
¿Hay alguna lección sobre cómo podemos entender svg path? Y sus valores? – RoCk
Use VectorDrawable. si el objetivo está bajo Lollipop usa support library.
A partir de Android Lollipop (nivel API 21) es posible implementarlo usando AnimatedVectorDrawable.
También hay herramientas que ayudarán a animar el vector dibujable shapeshifter y la publicación del blog del autor de la herramienta shapeshifter An Introduction to Icon Animation Techniques.
- 1. Problema de pausa y reproducción de la animación de Android
- 2. Animación SVG o Canvas?
- 3. Android: Reproducción y grabación de video simultáneas
- 4. ¿Alguna herramienta de animación SVG por ahí?
- 5. Opacidad de animación SVG en el bucle
- 6. Cómo secuenciar la secuencia de animación SVG?
- 7. Reproducción de sonidos simultáneamente Android
- 8. Android Crear lista de reproducción
- 9. Android: Animación de traducción y rotación simultáneamente
- 10. Android: ¿Animación de desplazamiento?
- 11. Android. Rendimiento de animación
- 12. Generación y reproducción de Dynamic Midi en Android: ¿posible?
- 13. Android La grabación y la reproducción de audio están corruptas
- 14. Forma de SVG a Android
- 15. Defina una animación de círculo/arco en SVG
- 16. Soporte de SVG en Android
- 17. Android: dicha animación usando XML para la animación en Android
- 18. Notificación de reproducción sonido predeterminado solamente (Android)
- 19. Android AudioTrack MODE_STATIC problemas de reproducción
- 20. secuencia de animación de Android
- 21. Reproducción de aplicaciones FLV/HTTP en Android
- 22. Android ui elemento animación
- 23. animación en android
- 24. Android carga la animación
- 25. Android: ViewFlipper animación
- 26. Android Translate Animación
- 27. Animación personalizada en Android
- 28. Android ListView Seleccionar animación
- 29. Reproducción nativa de Android con canal alfa
- 30. Reproducción de un archivo Flash en Android
Me interesa también. –
http://blog.sqisland.com/2014/10/first-look-at-animated-vector-drawable.html –