透明度由0~1表示。0表示完全透明,1表示不透明
- 例:在1s内,将
imageView
的透明度从1
变成0
。
//透明度起始为1,结束时为0
ObjectAnimator animator = ObjectAnimator.ofFloat(imageView, "alpha", 1f, 0f);
animator.setDuration(1000);//时间1s
animator.start();
ofFloat
中的参数:imageView
:执行动画的View
;"alpha"
:表示透明动画;1f
:起始透明度;0f
:动画结束后的透明度;
这里执行了两次动画,可以看出,2s的时间平均分配给了这两次动画。
如果你想执行三次、四次...动画,只要在后面多加几个参数就可以了。这也适用于其他的几个动画效果:旋转、移动、缩放
如果你想让它一直重复的话,可以使用
ObjectAnimator
提供的setRepeatCount(int count)
。count
为重复次数,-1
表示一直重复。
animator.setRepeatCount(-1);
2.5组合动画
如果只有这些基本动画是无法满足我们实际的应用的,所以还有个类AnimatorSet
,专门来组合这些动画。AnimatorSet
:这个类提供了一个play()方法,调用后将会返回一个AnimatorSet.Builder
的实例,AnimatorSet.Builder
中包括以下四个方法:
after(Animator anim)
:将现有动画插入到传入的动画之后执行after(long delay)
:将现有动画延迟指定毫秒后执行before(Animator anim)
: 将现有动画插入到传入的动画之前执行with(Animator anim)
:将现有动画和传入的动画同时执行