2012-02-02 8 views
25

私はAndroidアプリケーションを作成しています。私は単純なSVGアニメーションを再生したいと思います。私はAndroidがSVGサポートを提供していないことを認識しています。私の選択肢は何ですか?AndroidとSVGアニメーションを再生する

+0

私もこれに興味があります。 –

+0

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

答えて

3
  1. あなたのSVG画像を取り、あなたのプロジェクトにダウンロードしたXMLファイルを追加し、それがどのように見えるかを確認VectorDrawableにhere
  2. を変換します。相続人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今、あなたが作成したVectorDrawable

にrotationGroupとパスモーフを参照してくださいAnimatedVectorDrawableを作成
<?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用の2つのアニメータを作成します。

<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

0

VectorDrawableを使用してください。ターゲットがLollipopの下にある場合は、support libraryを使用してください。

関連する問題