Android Animated Vector Drawable 无法在 xml 中循环

Posted

技术标签:

【中文标题】Android Animated Vector Drawable 无法在 xml 中循环【英文标题】:Android Animated Vector Drawable cannot loop in xml 【发布时间】:2019-02-17 18:52:27 【问题描述】:

我想将动画矢量可绘制对象设置为小部件初始布局。动画有很多 AnimationSet 但不能一起设置重复。它只是可以设置重复本身。

以下代码为目标向量“path1”设置动画。我有 4 个目标,但我无法将它们一起设置动画。它们可以立即重复。

我搜索了很多答案。他们中的许多人使用监听器来监听 animationEnd 回调。但我无法将回调设置为小部件的初始布局。

例如。

<target android:name="path1">
    <aapt:attr name="android:animation">
        <set>
            <objectAnimator
                android:propertyName="fillAlpha"
                android:duration="100"
                android:valueFrom="0"
                android:valueTo="0"
                andoird:repeatCount="-1"
                android:valueType="floatType"
                android:interpolator="@android:interpolator/fast_out_slow_in"/>
            <objectAnimator
                android:propertyName="fillAlpha"
                android:startOffset="5000"
                android:duration="100"
                android:valueFrom="1"
                android:valueTo="1"
                android:valueType="floatType"
                android:interpolator="@android:interpolator/fast_out_slow_in"/>
        </set>
    </aapt:attr>
</target>

【问题讨论】:

【参考方案1】:

其实是的!您可以使用下面的代码为您的动画设置重复。

android:repeatCount="infinite"

例如:

<objectAnimator
    android:duration="1000"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:propertyName="trimPathStart"
    android:valueFrom="0.9"
    android:valueTo="0"
    android:repeatCount="infinite"
    android:valueType="floatType" />

它只能用于&lt;objectAnimator&gt; 而不是&lt;set&gt;

【讨论】:

以上是关于Android Animated Vector Drawable 无法在 xml 中循环的主要内容,如果未能解决你的问题,请参考以下文章

Android 制作逐渐显示动画(描边动画、矢量动画VectorDrawble)

UITableViewCell 选择器 setSelected:animated: 被调用多次?

android gradle 依赖项配置变更

i-vector 和 d-vector 的区别

打印语句未打印

Cocos2d-x Vector——vector iterators incompatible