欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

属性动画之组合动画

程序员文章站 2022-03-02 19:44:49
...

 一. 属性组合动画  - Kotlin

 

        val topOffset = DisplayUtil.dip2px(BaseApp.getContext(),60f)

        var translationAnimatorSet = AnimatorSet()

        var scaleAnimator = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "scaleX", 1f, 0f).setDuration(2000L)


        var translationAnimator = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "translationX", startX, endX).setDuration(2000L)
        var translationAnimator2 = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "translationY", startY, endY).setDuration(1000L)
        translationAnimator2.startDelay = 1000L
        var translationAnimator3 = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "translationY", startY, startY - topOffset).setDuration(500L)
        var translationAnimator4 = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "translationY", startY - topOffset, startY).setDuration(500L)
        translationAnimator4.startDelay = 500L

        var rotationAnimator = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "rotation", 0f, 360f * 2).setDuration(2000L)

        var scaleAnimatorX = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "scaleX", 1f, 1.5f).setDuration(500L)
        var scaleAnimatorY = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "scaleY", 1f, 1.5f).setDuration(500L)

        var scaleAnimatorX2 = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "scaleX", 1.5f, 0f).setDuration(1500L)
        scaleAnimatorX2.startDelay = 500L
        var scaleAnimatorY2 = ObjectAnimator.ofFloat(mShoppingAnimationView,
                "scaleY", 1.5f, 0f).setDuration(1500L)
        scaleAnimatorY2.startDelay = 500L

        translationAnimatorSet.playTogether(scaleAnimator,translationAnimator, translationAnimator2, translationAnimator3, translationAnimator4,
                rotationAnimator, scaleAnimatorX, scaleAnimatorY, scaleAnimatorX2, scaleAnimatorY2)
        translationAnimatorSet.start()