ValueAnimator一个要注意的细节

当设置ValueAnimator的参数超过两个时,除了首尾两个值一定会变化到,中间的值可能会跳过去。

比如说ValueAnimator.ofFloat(1,0,1);
通过float value = (float)animation.getAnimatedValue()获得的value是由1到0再到1变化。
但实际上只有首尾的两个1是必定会得到,value是不保证可以设为0的。
value有可能直接从0.05跳到0.05,而不会刚好变为0。

坑的是每次执行ValueAnimator获得的结果却不一样,所以要监听ValueAnimator到达“0”(即中间),不能用value==0来判断,这样会出现时灵时不灵的情况。

比如某次执行后会出现下列结果:
onAnimationUpdate: value 1.0
onAnimationUpdate: value 0.9985742
onAnimationUpdate: value 0.9943008
onAnimationUpdate: value 0.98768836
onAnimationUpdate: value 0.9779293
onAnimationUpdate: value 0.9653816
onAnimationUpdate: value 0.9510565
onAnimationUpdate: value 0.93320465
onAnimationUpdate: value 0.8655012
onAnimationUpdate: value 0.8090169
onAnimationUpdate: value 0.74174184
onAnimationUpdate: value 0.6683521
onAnimationUpdate: value 0.62769127
onAnimationUpdate: value 0.5437604
onAnimationUpdate: value 0.45399046
onAnimationUpdate: value 0.3564117
onAnimationUpdate: value 0.25780725
onAnimationUpdate: value 0.1564343
onAnimationUpdate: value 0.053381562
onAnimationUpdate: value 0.053381562
onAnimationUpdate: value 0.103486896
onAnimationUpdate: value 0.1564343
onAnimationUpdate: value 0.25780725
onAnimationUpdate: value 0.35934532
onAnimationUpdate: value 0.45399046
onAnimationUpdate: value 0.5437608
onAnimationUpdate: value 0.63013387
onAnimationUpdate: value 0.743845
onAnimationUpdate: value 0.7764865
onAnimationUpdate: value 0.86550117
onAnimationUpdate: value 0.91397095
onAnimationUpdate: value 0.9510565
onAnimationUpdate: value 0.9661963
onAnimationUpdate: value 0.9946308
onAnimationUpdate: value 0.99857426
onAnimationUpdate: value 1.0

那怎么判断ValueAnimator运行到了0这一步呢?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Animation Animation类是所有动画(scale、alpha、translate、rotate)的基...
    四月一号阅读 1,936评论 0 10
  • 属性动画简介 Android开发过程中,适当的使用一些动画可以让自己的应用看起来更棒更炫。最初的时候Google为...
    AFinalStone阅读 439评论 0 1
  • 动画类型 View Animation(Tween Animation 补间动画)只能支持简单的缩放、平移、旋转、...
    Jinwong阅读 1,023评论 0 8
  • 每次在干所有事都无法专注的时候,大脑就开始不自主的胡思乱想,想的那叫一个美!女生嘛!都一样,无非是王子,身材,身高...
    南宫青竹阅读 207评论 0 2
  • 构建时间管理的理念,记住金句很重要。 1.人生不在于做多少事,而在于把重要的事做到极致。 2.每天早上吃三只青蛙,...
    龙卷风227阅读 1,251评论 0 0