我非常喜欢添加到Android的AnimatedVectorDrawable功能。 有没有很好的工具来创建这样的动画?
E.g。任何创建动画的工具like described here:
修改
到目前为止,我已经找到了这些工具(这有点帮助):
答案 0 :(得分:19)
找到两个很棒的网站。 AndroidIconAnimator,这是一个基于Web的工具,用于创建AnimatedVectorDrawables。和Shapeshifter,很好地控制如何变形路径。
更新07-09-2017
这两个工具现在都合并为一个非常好的解决方案。我花了一些时间来理解如何使用它,但是一旦你看到它,它就是一个非常强大的工具
谢谢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