以下是一个使用插值器平缓重复旋转ImageView的Kotlin代码示例,同时还包括了暂停和开始动画的功能:\n\nkotlin\nimport android.animation.Animator\nimport android.animation.AnimatorListenerAdapter\nimport android.animation.ObjectAnimator\nimport android.view.animation.AccelerateDecelerateInterpolator\nimport android.widget.ImageView\n\nclass RotationAnimator(private val imageView: ImageView) {\n private var rotationAnimator: ObjectAnimator? = null\n\n fun startAnimation() {\n rotationAnimator?.let {\n if (it.isPaused) {\n it.resume()\n }\n return\n }\n\n rotationAnimator = ObjectAnimator.ofFloat(imageView, "rotation", 0f, 360f).apply {\n duration = 2000\n repeatCount = ObjectAnimator.INFINITE\n interpolator = AccelerateDecelerateInterpolator()\n addListener(object : AnimatorListenerAdapter() {\n override fun onAnimationRepeat(animation: Animator?) {\n // 动画重复时的操作\n }\n })\n start()\n }\n }\n\n fun pauseAnimation() {\n rotationAnimator?.pause()\n }\n\n fun resumeAnimation() {\n rotationAnimator?.resume()\n }\n}\n\n\n使用示例:\n\nkotlin\nval imageView = findViewById<ImageView>(R.id.imageView)\nval rotationAnimator = RotationAnimator(imageView)\n\n// 开始动画\nrotationAnimator.startAnimation()\n\n// 暂停动画\nrotationAnimator.pauseAnimation()\n\n// 继续动画\nrotationAnimator.resumeAnimation()\n\n\n注意:在使用该代码之前,你需要将R.id.imageView替换为你的ImageView的ID。另外,你还可以根据需要自定义动画的持续时间、重复次数、插值器等。

Android Kotlin ImageView 旋转动画:平滑重复、暂停/开始 - 代码示例

原文地址: https://www.cveoy.top/t/topic/quCD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录