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" />
它只能用于<objectAnimator>
而不是<set>
。
【讨论】:
以上是关于Android Animated Vector Drawable 无法在 xml 中循环的主要内容,如果未能解决你的问题,请参考以下文章
Android 制作逐渐显示动画(描边动画、矢量动画VectorDrawble)