android - 仅为开始设置重复动画的开始偏移

标签 android android-animation

我想为动画的开始设置一些延迟。因此,当动画不重复时,我们可以轻松使用 startOffset 属性。问题是我有一个将无限重复的动画。但我必须延迟启动它,因此当我使用 startOffset 时,动画总是以该延迟重复,这不是我想要的。另外,我不想使用 Handler 来创建延迟。

编辑:

我从未使用过ObjectAnimator。我的代码如下所示,但它没有动画。我的错误是什么?

ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, "translationX", 1000, -1000);
objectAnimator.setDuration(ANIMATION_DURATION);
objectAnimator.setRepeatMode(ValueAnimator.RESTART);
objectAnimator.setRepeatCount(ValueAnimator.INFINITE);
objectAnimator.setStartDelay((5 - i) * INTERVAL);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(objectAnimator);
animatorSet.start();

最佳答案

如果您在 res/drawable 文件夹中的 XML 文件中使用 VectorDrawable 和 AnimatedVectorDrawable 并在 res/animator 文件夹中的 objectAnimator 文件中定义动画,则 startOffset 延迟仅在第一次时起作用,而在重复期间不起作用。重复是立即的。另一方面,如果您希望动画每次重复时都以延迟开始,那么我相信 onAnimationEnd 重置是有效的。

关于android - 仅为开始设置重复动画的开始偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46661202/

相关文章:

android - 通过自定义键盘在 EditText 中输入文本

android - 如何暂停和恢复 surfaceView 线程

android - 如何使 Expandable listView 用动画展开?

android - 设置 FloatingActionButton 波纹

android - 在滚动时将 ViewPager 动画化为全屏

java - 如何从 Android studio 中的 TextView 解码 RSA 公钥(在 java 中)

java - GPS 定位精度问题

android - 如何在通知区域显示进度条?

android - TranslateAnimation 如何在 Android 上运行?

android - 如何使用多个旋转标签正确形成动画 xml