Android y reproducción de animación SVG
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í?
- ¿Puede Android Dibujos definidos en XML contienen una ruta de acceso?
- ¿El android tiene * nativo * imagen de la ayuda SVG como recursos drenables (iconos)?
- Dibujar el camino con el agujero (android)
- Decodificación de la imagen SVG a mapa de bits
- Android Vector Drawable <defs> no es compatible. ¿Como arreglarlo?
- Uso de archivos SVGZ sin servidor. (IOS local / Android)
- Marcador de Google Maps para Android: Released unknown imageData reference
- Rellene lentamente la imagen SVG con color (como barra de progreso) en android
- Teniendo problema en el dispositivo verdadero usando la imagen del vector en androide. SVG-android
- El selector de color para la imagen vectorial no funciona
- App fallos aleatorios con señal fatal 7 (SIGBUS), código 2 o señal fatal 11 (SIGSEGV), código 1
- Imagen SVG no visible en android 3.0+ con el mismo código
- Soporte de SVG en navegadores de teléfonos inteligentes
- Tome su imagen SVG y convertirla a un VectorDrawable aquí
-
Agregue el archivo XML descargado a su proyecto y vea cómo se ve. Heres un ejemplo de un VectorDrawable preparado para una rotación y una animación de la trayectoria del morph:
<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 crear un AnimatedVectorDrawable donde se refieren a la rotationGroup y la ruta morph en la creación 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 Cree dos animadores para 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 archivo, refiérase a los documentos aquí )
Una forma de iniciar la animación es obtener el dibujable desde la vista y ejecutar start()
.
Utilice VectorDrawable. Si el objetivo está bajo Lollipop utilizar la biblioteca de soporte .
- Registrar un Local BroadcastReceiver en AndroidManifest.xml?
- Android Studio no puede resolver org.junit