美文网首页
[Android动画]属性动画-小球下落动画实现2

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

作者: qiHuang112 | 来源:发表于2020-04-16 17:34 被阅读0次

前言

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

思路

  • 通过改变TranslationX和TranslationY的方式模拟小球下落
  • 通过插值器interpolator控制小球的加速度。

代码

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()
}

效果展示

横抛 上抛

总结

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

相关文章

网友评论

      本文标题:[Android动画]属性动画-小球下落动画实现2

      本文链接:https://www.haomeiwen.com/subject/fyrdvhtx.html