动画矢量可绘制动画不起作用

时间:2017-01-24 07:15:33

标签: android animation android-animation android-vectordrawable

我无法弄清楚为什么我的动画矢量无效。我可以看到第一条路径,但我想要动画的第二条路径作为第一条路径的附加功能未显示。这就是我的代码的样子:

<?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底部复制示例,这确实有效。我的文件动画正确,如果我使用他们的代码告诉我,我确实正确地开始动画。这是我的路径数据的错字或错误吗?

1 个答案:

答案 0 :(得分:1)

我在一个新项目中测试了我的绘图,令我惊讶的是它工作正常。

我在我的第一个项目中使用了com.android.support:design:25.1.0,结果发现降级为com.android.support:design:24.2.0使其正常工作。

经过多次测试后,我发现在app:srcCompat="@drawable/animated_vector"上从android:src="@drawable/animated_vector"更改为ImageView也使其适用于com.android.support:design:25.1.0

我不确定最新情况,但现在至少可行。如果有人有更多详细信息,请告诉我。我认为我们假设使用srcCompat用于矢量绘图。