[Android动画]属性动画-小球下落动画实现2

2020-04-16  本文已影响0人  qiHuang112

前言

上篇文章通过自定义估值器(TypeEvaluator)的方式模拟了小球下落的过程,这篇文章教你用属性动画中自带的ObjectAnimator实现。

思路

代码

btn_anim_1.setOnClickListener {
    val translationXAnim =
        ObjectAnimator.ofObject(view_anim, "TranslationX", FloatEvaluator(), 0f, 600f)
            .apply {
                duration = 1000
                interpolator = LinearInterpolator()
            }
    val translationYAnim =
        ObjectAnimator.ofObject(view_anim, "TranslationY", FloatEvaluator(), 0f, 600f)
            .apply {
                duration = 1000
                interpolator = Interpolator {
                    it * it
                    // (it * it - 0.5f * it) * 2
                }
            }
    AnimatorSet().apply {
        playTogether(translationXAnim, translationYAnim)
    }.start()
}

效果展示

横抛 上抛

总结

这个代码就比较简洁了,但是可控程度不够高,啥意思呢,就是我不能像估值器那样对小球的状态有完全的掌控,但是实现简单的动画效果已经完全够用了,下篇文章实现了无限跳跃效果。

上一篇 下一篇

猜你喜欢

热点阅读