用于创建AnimatedVectorDrawable的工具

时间:2016-03-08 20:27:15

标签: android android-animation material-design android-vectordrawable

我非常喜欢添加到Android的AnimatedVectorDrawable功能。 有没有很好的工具来创建这样的动画?

E.g。任何创建动画的工具like described hereenter image description here

修改

到目前为止,我已经找到了这些工具(这有点帮助):

3 个答案:

答案 0 :(得分:19)

找到两个很棒的网站。 AndroidIconAnimator,这是一个基于Web的工具,用于创建AnimatedVectorDrawables。和Shapeshifter,很好地控制如何变形路径。

更新07-09-2017

这两个工具现在都合并为一个非常好的解决方案。我花了一些时间来理解如何使用它,但是一旦你看到它,它就是一个非常强大的工具

Shapeshifter.design

谢谢2 Roman Nurik& Alex Lockwood。

答案 1 :(得分:1)

这个问题很老了。我的回答可能有助于未来的读者。

创建像提问者所示的动画非常简单。我们自己可以创建像所示的动画。首先,创建一个VectorDrawable。如下:

my_Vector_drawable.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="800dp"
        android:height="800dp"
        android:viewportWidth="800.0"
        android:viewportHeight="800.0">

    <path
        android:name="a_circle"
        android:pathData="M  250   200
        q   -86     02    -140     57.5
        t   -57    135.5
        q   -03     93      67    156
        q    59     52     135     50
        q    71    -02     132    -54
        q    66    -56      66   -146
        q    00    -80     -45   -129
        q   -68    -72    -158    -70   "

        android:strokeLineCap="round"
        android:strokeColor="#f00f"
        android:fillColor="#00000000"
        android:trimPathEnd="0"
        android:strokeWidth="32"/>



</vector>

my_animated_vector_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<animated-vector
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    android:drawable="@drawable/my_vector_drawable">

    <target
        android:name="a_circle"
        android:animation="@animator/my_animation"/>

</animated-vector>



my_animation.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set
        xmlns:android="http://schemas.android.com/apk/res/android">
        <objectAnimator
            android:propertyName="trimPathEnd"
            android:duration="1000"
            android:valueFrom="0"
            android:valueTo="1"
            android:repeatCount="0"
            android:repeatMode="restart"/>
    </set>

第一个文件包含图片数据。第三个文件包含动画数据。第二个文件链接第一个和第二个文件。

您可以创建三个空白文件。将上面给出的内容复制并粘贴到您的文件中。

将前两个文件放在drawable文件夹中。第三个你放在&#34; animator&#34;夹。这两个文件夹都在res文件夹中找到该位置。

您可以在其中创建包含ImageView的布局文件。您可以将AnimatedVectorDrawable文件作为drawable(android:src =&#34; my_animated_vector_drawable&#34;)。

在您的活动中将内容视图设置为布局。另外,给ImageView充气。

(myImage=((ImageView)findViewById(R.id.yourimageview name);
myImage.getDrawable.start():

然后看到乐趣。您可以在AnimatedVectorDrawable文件中包含多个目标。您可以在set ...

下的动画文件中包含多个ObjectAnimator

您问题中显示的动画是路径变形。甚至路径变形示例也在文档中也很简单。我留给你试验。

答案 2 :(得分:1)

您可以使用Airbnb的彩票库。它使得在After Effects中将动画设计路径传送到适用于android的Animated Vector Drawables中。我认为,如果您具有灵活的After Effects中的矢量路径动画能力,那将是最好的解决方案。

这里有一段视频,描述了转换和渲染的全过程 https://www.youtube.com/watch?v=vs6GOlgUSc8

Airbnb's Lottie Library

使用Lottie设计的一些动画图标。

enter image description here

布局中使用的动画图标

enter image description here