android-Instagram的心脏动画模仿-FadeScale动画

android-Instagram的心脏动画模仿-FadeScale动画,第1张

概述我正在尝试创建类似于instagram双击动画的动画,其中,心脏在淡入时从中心放大,然后保持一点点可见,然后在淡出时从中心缩小.我正在使用此动画:publicvoidanimateHeart(finalImageViewview){AnimationSetanimation=newAnimationSet(true);animation.addAnimation(newAl

我正在尝试创建类似于instagram双击动画的动画,其中,心脏在淡入时从中心放大,然后保持一点点可见,然后在淡出时从中心缩小.

我正在使用此动画:

public voID animateHeart(final ImageVIEw vIEw) {AnimationSet animation = new AnimationSet(true);animation.addAnimation(new AlphaAnimation(0.0f, 1.0f));animation.addAnimation(new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f,Animation.relative_TO_SELF, 0.5f, Animation.relative_TO_SELF, 0.5f));animation.setDuration(700);animation.setRepeatMode(Animation.REVERSE);vIEw.startAnimation(animation);}

它对于出现的动画效果很好,但是动画不会反转.
另外,我只希望它动画一次.

有人可以告诉我我在做什么错吗?
提前致谢.

解决方法:

您只用代码开始一个Scale和Alpha动画.

这行:

animation.setRepeatMode(Animation.REVERSE);

显然在AnimationSet中效果不佳,因此您必须将其分别应用于每个Animation.我会推荐这样的东西:

public voID animateHeart(final ImageVIEw vIEw) {    ScaleAnimation scaleAnimation = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f,            Animation.relative_TO_SELF, 0.5f, Animation.relative_TO_SELF, 0.5f);    prepareAnimation(scaleAnimation);    AlphaAnimation AlphaAnimation = new AlphaAnimation(0.0f, 1.0f);    prepareAnimation(AlphaAnimation);    AnimationSet animation = new AnimationSet(true);    animation.addAnimation(AlphaAnimation);    animation.addAnimation(scaleAnimation);    animation.setDuration(700);    animation.setFillAfter(true);    vIEw.startAnimation(animation);}private Animation prepareAnimation(Animation animation){    animation.setRepeatCount(1);    animation.setRepeatMode(Animation.REVERSE);    return animation;}

不要忘记

animation.setFillAfter(true);

否则,当动画结束时,您的心会再次出现.

总结

以上是内存溢出为你收集整理的android-Instagram的心脏动画模仿-FadeScale动画全部内容,希望文章能够帮你解决android-Instagram的心脏动画模仿-FadeScale动画所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存