如何使用设计支持库23.2实现动画矢量drawable?

时间:2016-02-29 03:51:02

标签: android animation android-studio androiddesignsupport android-vectordrawable

我已经看到Android开发人员blog新设计支持库23.2支持动画矢量。当我搜索时,我遇到了这个link来实现动画矢量drawable。在设计支持库23.2中实现动画矢量drawables的方法是否相同?有人可以帮我解决新的实现吗?

1 个答案:

答案 0 :(得分:19)

Here's a link to an example project on Github implementing the Support Library to make this Floating Action Button.

enter image description here

使用支持库与非支持库方法非常相似,因为AnimatedVectorDrawables的xml文件与objectAnimators和静态VectorDrawables相同。

设置项目以使用支持库以及在代码中引用AnimatedVectorDrawable时,会出现差异。

确保在build.gradle中至少使用版本23.2.0的AppCompat,不需要单独添加VectorDrawable和AnimatedVectorDrawable库:

dependencies {
...
...
compile 'com.android.support:appcompat-v7:23.2.0'
}

official anouncement blog you linked to提供了几种不同的方法来确保Android Studio不会将您的Vector Drawable转换为png。根据您使用的Gradle插件的版本,有两种不同的方法,因此您应该遵循相应的方法。

从代码中的资源调用动画矢量:

AnimatedVectorDrawableCompat animatedVector = AnimatedVectorDrawableCompat.create(this, R.drawable.animated_vector_name);

您可以使用.setImageDrawable(animatedVector);方法在ImageViews,Buttons等上显示此内容,然后使用animatedVector.start();

启动动画

重要提示:正如Chris Banes' post中所述,支持库中的工作方式存在一些限制。您链接的sqisland.com post包含Path Morphing的示例,它不适用于当前的支持库(版本23.2.0)