我不明白为什么我的动画矢量不能工作。我可以看到第一条路径,但是我想要添加到第一条路径上的第二条路径没有显示出来。我的代码是这样的:
<?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">
<aapt:attr name="android:drawable">
<vector
android:height="24dp"
android:width="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0" >
<path
android:name="v"
android:strokeColor="#000000"
android:strokeWidth="3"
android:pathData="M6,11 l3.5, 4 l0, 0" />
</vector>
</aapt:attr>
<target android:name="v" >
<aapt:attr name="android:animation">
<set>
<objectAnimator
android:duration="1000"
android:propertyName="pathData"
android:valueFrom="M6,11 l3.5, 4 l0, 0"
android:valueTo="M6,11 l3.5, 4 l8, -7"
android:valueType="pathType"/>
</set>
</aapt:attr>
</target>
</animated-vector>
因此,屏幕上显示的是M6,11 l3.5, 4 l0, 0
,而不是M6,11 l3.5, 4 l8, -7
我试着从google docs here的底部复制这个例子,它确实起作用了。如果我使用他们的代码,我的文件就会正确地生成动画,这会告诉我我确实正确地启动了动画。这是拼写错误还是我的路径数据有问题?
发布于 2017-01-26 19:54:56
我在一个新的项目中测试了我的绘图,令我惊讶的是,它工作得很好。
我在我的第一个项目中使用了com.android.support:design:25.1.0
,事实证明,降级到com.android.support:design:24.2.0
可以让它工作。
在测试了更多之后,我发现在我的ImageView
上从app:srcCompat="@drawable/animated_vector"
改为android:src="@drawable/animated_vector"
也能在com.android.support:design:25.1.0
上工作。
我不知道发生了什么,但至少现在它可以工作了。如果有人对此有更多的细节,请让我知道。我想我们应该在矢量绘图中使用srcCompat
。
https://stackoverflow.com/questions/41822179
复制相似问题