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

6

我看到安卓开发者博客说新的设计支持库23.2支持矢量动画。当我搜索时,我找到了这个链接来实现矢量动画可绘制对象。在设计支持库23.2中实现矢量动画可绘制对象的方式是否相同?可以有人帮我解决新的实现方法吗?

1个回答

19

这是一个链接,指向Github上的一个示例项目,演示如何使用Support Library来制作浮动操作按钮。

enter image description here

使用支持库与非支持库方法非常相似,因为 AnimatedVectorDrawables 的 xml 文件以及 objectAnimators 和静态 VectorDrawables 都是相同的。
不同之处在于设置项目使用支持库和在代码中引用 AnimatedVectorDrawables 时。
请确保您的 build.gradle 中至少使用了版本 23.2.0 的 AppCompat,VectorDrawable 和 AnimatedVectorDrawable 库无需单独添加。
dependencies {
...
...
compile 'com.android.support:appcompat-v7:23.2.0'
}

官方公告博客提供了几种不同的方法来确保Android Studio不会将您的矢量图形转换为png。根据您使用的Gradle插件版本,有两种不同的方法,因此您应该遵循适当的方法。

要从资源中调用动画矢量,请在您的代码中执行以下操作:

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

你可以使用.setImageDrawable(animatedVector);方法在ImageView、Button等控件上显示它们,并使用animatedVector.start();启动动画。
重要提示:正如Chris Banes的帖子中提到的那样,支持库存在一些限制。你链接的sqisland.com帖子包括路径变形的示例,这在当前支持库(版本23.2.0)中无法实现。

1
Lottie库可用于为Android应用程序创建After Effects动画。 - Jayakrishnan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接