在Fragment进入的过程中使用动画遇到的问题

在Fragment进入的过程中使用动画遇到的问题

由于最近在做fragment,在应付设计师小哥哥繁杂的动画设计(没错,充满怨恨)的同时,出现一个动画不随fragment取消的问题,我把fragment设置成点击activity界面就add fragment,再次点击就remove fragment。而出现的问题就是你刚把fragment点出来,再点击把fragment remove,但是动画没有停下(即使现在fragment看不到),并且如果此时你再次点出fragment,就会发现动画执行两次甚至以上。三种动画,补间动画、ObjectAnimator、ValueAnimator都出现了这些问题。真的是惹的我很生气,解决了好久好久最后还是屈服了,不给点击remove fragment。由于很治标不治本,所以想出了以下几种解决方案:
1、利用fragment的状态判断函数,isAdded(),isDetached(),isRemoving()。

很多人包括我都觉得这些用if判断明明只是一瞬间的事情,代码执行到的时候没有就没有,它可不会等你。难道你要用个自旋锁?这里也求助一下,有没有什么办法一直监听着fragment的这几个函数。

但还是被我想到了一个地方:在用ValueAnimation的时候,因为ValueAnimation在做动画的时候每次都是经过addUpdateListener的onAnimationUpdate方法,这样每次它计算属性的时候都判断一次,这总能踩中一次。也就有点写在while循环里的意思了。
2、动画

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值