Android和播放SVG动画

问题描述:

我正在编写一个Android应用程序,我想播放一个简单的SVG动画。我知道Android不提供SVG支持;我在这里有什么选择?Android和播放SVG动画

+0

我也对此感兴趣。 – 2012-05-17 09:31:36

+0

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

  1. 把你的SVG图像,并将其转换为VectorDrawable here
  2. 您下载的XML文件添加到您的项目,看看它的外观。这里有一个VectorDrawable的一个例子的旋转和路径变形动画准备:

    <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现在创建一个AnimatedVectorDrawable,你是指至RotationGroup和路径变形在创建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为AnimatedVectorDrawable创建两个动画:

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

和:

<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> 

(也可以定义这一切都在一个文件中,指的是docs here

一种方法则启动动画是通过从视图获取绘制并运行start()

+0

有关于我们如何理解svg路径的教训吗?它的价值? – RoCk 2017-08-05 07:40:20

使用VectorDrawable。如果目标是在棒棒糖下使用support library

从Android Lollipop(API级别21)开始,可以使用AnimatedVectorDrawable来实现。

还有一些工具可以帮助生成矢量动画shapeshifter和工具变形器An Introduction to Icon Animation Techniques的作者的博客文章。