属性动画总结
属性动画总结
小结
属性动画 isRunning 和 isStarted 区别?
- isStarted
isStarted 将会返回 true 当我们调用 start 方法之后,如果调用了 end 或者 cancel 方法,此时 isStarted 返回 false;当我们调用 startDelay
方法将动画延时一定时间之后再执行,但是此时 isStarted 仍然返回 true。
- isRunning
isRunning 在延时播放动画上面跟 isStarted 有区别,如果 startDelay
延时播放动画,在延时时段 isRunning 将会返回 false,其余情况跟 isStarted 返回值相同。
- isPaused
isPaused 方法除非在调用 pause 方法是返回 true,其余情况都返回 false。
propertyName 和 Property 有什么区别?
以一个呼吸动画为例:
1
2
3
4
5
6
7
8
9
10
fun viewBreatheAnim(view: View, durations: Long = 4000, targetScale : Float = 1.1F): ObjectAnimator {
val anim = ObjectAnimator.ofPropertyValuesHolder(
view,
PropertyValuesHolder.ofFloat("scaleX", 1F, targetScale),
PropertyValuesHolder.ofFloat("scaleY", 1F, targetScale),
).apply { duration = durations }
anim.interpolator = BreatheInterpolator()
anim.repeatCount = ValueAnimator.INFINITE
return anim
}
本文由作者按照 CC BY 4.0 进行授权