J'écris une application Android et j'aimerais jouer à une animation SVG simple. Je suis conscient qu'Android n'offre pas de support SVG; Quelles sont mes options ici?
Ajoutez votre fichier XML téléchargé à votre projet et voyez à quoi il ressemble. Voici un exemple de VectorDrawable préparé pour une animation de rotation et de morphing de chemin:
<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 Créez maintenant un AnimatedVectorDrawable dans lequel vous vous référez au groupe de rotation et au chemin d'accès au vecteur créé.
<?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 Créez deux animateurs pour AnimatedVectorDrawable:
<objectAnimator
Android:duration="6000"
Android:propertyName="rotation"
Android:valueFrom="0"
Android:valueTo="360" />
et :
<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>
(Il est également possible de définir tout cela dans un seul fichier, voir le docs ici )
Une façon de commencer l'animation consiste alors à extraire le dessin de la vue et à exécuter start()
.
À partir d'Android Lollipop (API niveau 21), il est possible d'implémenter à l'aide de AnimatedVectorDrawable .
Il existe également des outils permettant d'animer des vecteurs dessinés shapeshifter et un article de blog de l'auteur de l'outil shapeshifter Une introduction aux techniques d'animation d'icônes .
Utilisez VectorDrawable. si la cible est sous Lollipop, utilisez bibliothèque de support .