Android – AnimatorSet,Object Animator – Bounce动画链是合并的吗?

Android – AnimatorSet,Object Animator – Bounce动画链是合并的吗?,第1张

概述我在 Android中有一个关于ObjectAnimator的问题.我试图模拟一个Bounce效果,其中View向上滑动(降低Y值)并在向后滑动相同数量的’n’,然后View再次向上和向下滑动,但这次是’n / 2′(所以一半的距离). 所以更大的反d,然后是更浅的反d – 也就是说,当它需要你注意时,Mac图标在托盘中的作用. 这是我到目前为止所尝试的(假设v是一个视图): float y = 我在 Android中有一个关于ObjectAnimator的问题.我试图模拟一个Bounce效果,其中VIEw向上滑动(降低Y值)并在向后滑动相同数量的’n’,然后VIEw再次向上和向下滑动,但这次是’n / 2′(所以一半的距离).

所以更大的反d,然后是更浅的反d – 也就是说,当它需要你注意时,Mac图标在托盘中的作用.

这是我到目前为止所尝试的(假设v是一个视图):

float y = v.getTranslationY(),distance = 20F;                AnimatorSet s = new AnimatorSet();                s.play(ObjectAnimator.offloat(v,"translationY",y- distance).setDuration(500))                .before(ObjectAnimator.offloat(v,y).setDuration(500))                .before(ObjectAnimator.offloat(v,y- (distance/2)).setDuration(500))                .before(ObjectAnimator.offloat(v,y).setDuration(500));                s.start();

忽略代码质量,这是一个POC!我希望这会起作用,但它似乎只是“反d”一次,好像它结合了动画,尽管使用了.before().

你能否告诉我如何创建复杂的AnimatorSet链,它们不会合并为一个,因为我似乎错过了什么?

奖励:对于额外的积分,我如何设置AnimatorSet的重复?

非常感谢!

解决方法 好的,所以我最终找到了一种相当简洁的方法来通过忽略流畅的构建器来实现顺序动画,并且只使用playSequentially()方法,这样:
AnimatorSet as = new AnimatorSet();as.playSequentially(ObjectAnimator.offloat(...),// anim 1                    ObjectAnimator.offloat(...),// anim 2                    ObjectAnimator.offloat(...),// anim 3                    ObjectAnimator.offloat(...)); // anim 4as.setDuration(600);as.start();

尽管如此,除了在侦听器中涉及回调onAnimationEnd的肮脏黑客之外,仍然没有重复.必须是一种更简单的方式,所以也许有人可以在知道其中时对其进行编辑.

无论如何,希望以上帮助某人.

总结

以上是内存溢出为你收集整理的Android – AnimatorSet,Object Animator – Bounce动画链是合并的吗?全部内容,希望文章能够帮你解决Android – AnimatorSet,Object Animator – Bounce动画链是合并的吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1138445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存