setAnimationListener

设置动画监听器

示例:

  1. import "android.view.animation.*"
  2. animate.setAnimationListener(Animation.AnimationListener {
  3. onAnimationStart = function(animation)
  4. print "动画开始"
  5. end,
  6. onAnimationEnd = function(animation)
  7. print "动画结束"
  8. end,
  9. onAnimationRepeat = function(animation)
  10. print "动画重复"
  11. end
  12. })

setDuration

设置动画的持续时间,不能设置负数,单位为毫秒

示例:

  1. animate.setDuration(3000)

setFillEnabled

启动动画转换应用,即开启它,再通过设置setFillBeforesetFillAfter可以控制控件动画完后停留在动画开始的位置还是动画完成的位置

示例:

  1. animate.setFillEnabled(true)
  2. --使控件保留在动画完成时的位置
  3. animate.setFillAfter(true)

setInterpolator

设置插值器,即控制你的动画速率。

常见的插值器有:

差值器 描述
AccelerateDecelerateInterpolator 一个开始和结束缓慢但中间加速的插值器
AccelerateInterpolator 一个开始缓慢然后加速的插值器
AnticipateOvershootInterpolator 一个插值器,它开始向后,然后向前,超过目标值,最后回到最终值
BounceInterpolator 一个在末端反弹的插值器
CycleInterpolator 重复指定周期数的动画。变化率呈正弦曲线
DecelerateInterpolator 一个开始很快然后减速的插值器
LinearInterpolator 变化率为常数的插值器
OvershootInterpolator 一个内插器,向前移动并超过最后一个值,然后返回

示例:

  1. import "android.view.animation.*"
  2. animate.setInterpolator(AccelerateDecelerateInterpolator())

setRepeatCount

设置动画应该重复的次数。如果重复计数为0,则不会重复动画。如果重复计数大于0或无穷大,则将考虑重复模式。默认情况下重复计数为0。设置为-1为无限循环

setRepeatMode

定义动画结束时应该做什么。此设置仅在setRepeatCount大于0或-1时应用。默认为RESTART

  • 设置为1是RESTART,即从头开始重复动画
  • 设置为2是REVERSE,即反复重复动画

setStartOffset

这个动画应该何时开始。这在使用AnimationSet组合复杂动画时非常有用。接收的值为int,单位为毫秒