Android开发之动画的多种实现方法

可以先看效果图:

正常来说Android分为帧动画、属性动画、补间动画

实现方法却又很多种,目前本人总结了5种,分别如下

方式一:

动画xml文件和实现动画的代码如下


AnimationUtils.loadAnimation(requireContext(), R.anim.anim_rotate).run {
            fillAfter = true
            isFillEnabled = true
            //为控件设置动画
            imageView.startAnimation(this)
        }

方式二:

 val animation = RotateAnimation(0f, 360f, 1, 0.5f, 1, 0.5f)
                animation.run {
                    duration = 3000
                    fillAfter = true
                    isFillEnabled = true
                    //为控件设置动画
                    imageView.startAnimation(this)
                }

方法三:

val oa = ObjectAnimator.ofFloat(ivAnimationThree, View.ROTATION, 0f, 90f, 270f, 360f)
                oa.run {
                    duration = 2500
                    start()
                }

方法四:

 iamgeView.animate().setStartDelay(500).rotation(0f).rotation(360f)

上面四种方法都是渐变动画。

第五种:下面是一个计时动画

 tvCount.setOnClickListener {
            val va = ValueAnimator.ofInt(10, 500).setDuration(2000)
            va?.run {
                repeatCount = 2
                repeatMode = ValueAnimator.RESTART
                addUpdateListener {
                    Log.e("打印", "动画更新了:${it.animatedValue}")
                    tvCount.text = it.animatedValue.toString()
                    tvCount.requestLayout();
                }
                start()
            }
        }

此代码已上传到gitee仓库,但是默认为私有权限,待我上传到GitHub后,附上源码地址。

GitHub源码下载

你可能感兴趣的:(Android总结,Android动画,安卓动画,Android动画分类,安卓Android动画实现方式,安卓动画实现方法)