android - 多次重复一个 AnimatorSet 动画

标签 android android-animation

我已经尝试了几个小时,我觉得是时候放弃了。 如何循环在 xml 中定义的 AnimatorSet?

<set xmlns:android="http://schemas.android.com/apk/res/android">

    <objectAnimator />

    <objectAnimator />

    <objectAnimator />

    <objectAnimator />

</set>

我在单个 objectAnimator 上尝试了 startOffsetrepeatCountduration 的几十种组合,但那是只是方法不对。

我读到了 this有前途的解决方法:

a.addListener(new AnimatorListenerAdapter() {

    @Override
    public void onAnimationEnd(Animator animation) {
        animation.start();
        Log.i();
    }
});

但它根本不起作用:onAnimationEnd 被调用一次,动画重复,然后 onAnimationEnd 不再被调用。

这里其他类似的问题涉及错误答案(引用android.view.animation框架)或建议为单个objectAnimator定义一个自定义插值器,但事实并非如此我在找什么。谢谢。

最佳答案

我在同时播放两个动画的 AnimatorSet 上遇到了同样的问题。

我使用 animationSet.play(anim1).with(anim2) 创建了集合,这导致我的动画只重复一次。

将其更改为 animationSet.play(anim1).with(anim2).after(0) 解决了我的问题并允许动画无限循环。

似乎存在一个错误,强制您在动画可以循环不止一次之前在动画中至少有一个顺序步骤。

关于android - 多次重复一个 AnimatorSet 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454208/

相关文章:

android - 无论如何以编程方式动画线性布局的布局权重属性

android - 应用程序针对 Facebook 集成配置错误

java - Android 布局屏幕尺寸冲突(values-normal/values-large)

Android Studio 抛出 "No signature of method"错误,指向 build.gradle :app

Android 向下滑动到向上和向上向下滑动

android - android中的摇晃/摆动 View 动画

Android 卡片动画

Android MotionLayout autoTransition 在 beta7 中不起作用

Android Studio 的 IntelliJ IDEA SDK/AVD 管理器

android - 存储 RSA 私钥 Android