android - 循环动画集

标签 android animation

我已经制作了一个包含三个 ObjectAnimator 的 AnimatorSet,我想依次重复。

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:ordering="sequentially">

    <objectAnimator
        android:propertyName="rotation"
        android:duration="300"
        android:valueFrom="0"
        android:valueTo="5"
        android:valueType="floatType"/>

    <objectAnimator
        android:propertyName="rotation"
        android:duration="600"
        android:valueFrom="5"
        android:valueTo="-5"
        android:valueType="floatType"/>

    <objectAnimator
        android:propertyName="rotation"
        android:duration="300"
        android:valueFrom="-5"
        android:valueTo="0"
        android:valueType="floatType"/>

</set>

但是如果我将 CycleInterpolator 设置为 AnimatorSet,因为 Animators 将顺序启动

public void setInterpolator (TimeInterpolator interpolator) Added in API level 11

Sets the TimeInterpolator for all current child animations of this AnimatorSet.

所以我尝试通过设置监听器重新启动 AnimatorSet 来循环,但是它停止了几毫秒并且重新启动 AnimatorSet 的效果很明显。

a.addListener(new AnimatorListenerAdapter() {
    @Override
    public void onAnimationEnd(Animator animation)
    {
        animation.start();
    }
});

我能做些什么来循环它(除了构建一个庞大的 ObjectAnimator 列表或使用 Thread 和 Handler 编写我自己的动画)?

最佳答案

也迫切需要这个功能,结果有人已经找到了解决方案。

http://www.jefflinwood.com/2013/04/repeating-android-animations-with-animatorset/

所有版权归原作者所有。

mAnimationSet.addListener(new AnimatorListenerAdapter() {

@Override
public void onAnimationEnd(Animator animation) {
    super.onAnimationEnd(animation);
    mAnimationSet.start();
}

});
mAnimationSet.start();

关于android - 循环动画集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17492523/

相关文章:

java - ListView 中的 Android Spinner 有时会重新初始化

react-native - 如何在功能组件中编写Animated.Value.addListener?

android - 我可以强制 Android 应用程序使用特殊版本的 webview 吗?

android - Xcode 和 Eclipse 之间的 GitHub XCRUN 错误

ios - drawRect :? 之后有没有直接调用的方法

javascript - 移除 child 时动画 parent

android - LayoutTransition DISAPPEARING 动画不适用于 Cursor Adapter

jquery - 使用 JQuery 和 css 显示图像背景位置 : jitters (except firefox) + percentage conundrum

android - 将 BadgeDrawable 与 BottomNavigationView 一起使用时出现 UnsupportedOperationException

java - 阻止 ImageButton 创建新 Activity