2012-02-02 12 views
25

मैं एक एंड्रॉइड एप्लिकेशन लिख रहा हूं और मैं एक साधारण एसवीजी एनीमेशन खेलना चाहता हूं। मुझे पता है कि एंड्रॉइड एसवीजी समर्थन की पेशकश नहीं करता है; मेरे लिए यहां क्या विकल्प हैं?एंड्रॉइड और एसवीजी एनीमेशन खेलना

+0

मुझे इसमें भी रूचि है। –

+0

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

उत्तर

3
  1. अपने एसवीजी छवि ले लो और यह एक 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 अब एक AnimatedVectorDrawable बनाने जहां आपके द्वारा बनाए VectorDrawable

में rotationGroup और पथ रूप को देखें
<?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 एनिमेटेड वेक्टर के लिए दो एनिमेटर्स बनाएं:

<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 का उल्लेख है) देखने से drawable हो रही द्वारा है और start() चलाएं।

+0

क्या कोई सबक है कि हम svg पथ को कैसे समझ सकते हैं? और इसके मूल्य? – RoCk

0

वेक्टर ड्रायबल का उपयोग करें। यदि लक्ष्य लॉलीपॉप के तहत support library का उपयोग करता है।

0

एंड्रॉइड लॉलीपॉप (एपीआई स्तर 21) से शुरू करना AnimatedVectorDrawable का उपयोग करके कार्यान्वित करना संभव है।

ऐसे उपकरण भी हैं जो वेक्टर ड्रायरेबल shapeshifter और उपकरण आकार के लेखक से ब्लॉग पोस्ट को एनिमेटिफ़टर An Introduction to Icon Animation Techniques के लेखक से एनिमेट करने में मदद करेंगे।

संबंधित मुद्दे