Android之Kotlin實現TweenAnimaion

補間動畫(TweenAnimaion)四種常用實現

1. AlphaAnimation(透明),實現

findViewById(R.id.AlphaAnimation).setOnClickListener {
            var alphaAnimation = AlphaAnimation(1.0f, 0.0f)//從全不透明變為全透明
            // 3: 確定持續時間
            alphaAnimation.duration = 2000;
            // 4: 確定Interpolator
            alphaAnimation.interpolator = LinearInterpolator()
            ivSport.startAnimation(alphaAnimation)
        }

2.RotateAnimation(旋轉),實現

  findViewById(R.id.RotateAnimation).setOnClickListener {
            var rotateAnimation = RotateAnimation(0f, 70f)
            rotateAnimation.duration = 2000;
            rotateAnimation.interpolator = AccelerateDecelerateInterpolator()
            ivSport.startAnimation(rotateAnimation)

        }

3.ScaleAnimation(放大縮小)動畫實現

       findViewById(R.id.ScaleAnimation).setOnClickListener {
       //放大五倍
            var scaleAnimation = ScaleAnimation(0f, 5f, 0f, 5f)
            scaleAnimation.duration = 2000;   //顯示時長
            scaleAnimation.interpolator = AccelerateDecelerateInterpolator()//動畫顯示規律
            ivSport.startAnimation(scaleAnimation)
        }

4.ScaleAnimation(位移)動畫實現

  findViewById(R.id.TranslateAnimation).setOnClickListener {
            var transAnimation = TranslateAnimation(-400f, 0f, 0f, 0f)
            transAnimation.duration = 2000;
            transAnimation.interpolator = AccelerateDecelerateInterpolator()
            ivSport.startAnimation(transAnimation)

        }

5.補間動畫組合使用

  val mul = findViewById(R.id.MulAnimation);
        mul.setOnClickListener {
            var scaleAnimation = ScaleAnimation(1f, 0.5f, 1f, 0.5f)
            var transAnimation = TranslateAnimation(0f, ivSport.x - mul.width / 2, 0f, mul.y - ivSport.y + mul.height)
            var alphaAnimation = AlphaAnimation(1.0f, 0.0f)//從全不透明變為全透明
            ivSport.startAnimation(alphaAnimation)
            val aniSet = AnimationSet(false)
            aniSet.duration=2000
            aniSet.interpolator= LinearInterpolator()
            aniSet.addAnimation(scaleAnimation)
            aniSet.addAnimation(transAnimation)
            aniSet.addAnimation(alphaAnimation)
            ivSport.startAnimation(aniSet)
        }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容