我已经看到Android开发人员blog新设计支持库23.2支持动画矢量。当我搜索时,我遇到了这个link来实现动画矢量drawable。在设计支持库23.2中实现动画矢量drawables的方法是否相同?有人可以帮我解决新的实现吗?
答案 0 :(得分:19)
使用支持库与非支持库方法非常相似,因为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)