"要重置 Android View 的属性动画效果,可以使用以下方法:\n\n1. 使用 AnimatorSet 的 reverse() 方法:AnimatorSet 是一个可以同时播放多个 Animator 的类,它还提供了 reverse() 方法,可以反向播放动画。首先,创建一个 AnimatorSet 对象,并将需要重置的属性动画添加到其中,然后调用 reverse() 方法即可。例如:\n\njava\nAnimatorSet animatorSet = new AnimatorSet();\nanimatorSet.playTogether(ObjectAnimator.ofFloat(view, \"translationX\", 0f, 100f));\nanimatorSet.setDuration(500);\nanimatorSet.start();\n// 等待动画结束后重置动画\nanimatorSet.addListener(new AnimatorListenerAdapter() {\n @Override\n public void onAnimationEnd(Animator animation) {\n animatorSet.reverse();\n }\n});\n\n\n2. 使用 ObjectAnimator 的 reverse() 方法:ObjectAnimator 是一个用于对单个属性进行动画的类,它也提供了 reverse() 方法,可以反向播放动画。首先,创建一个 ObjectAnimator 对象,并设置需要重置的属性动画,然后调用 reverse() 方法即可。例如:\n\njava\nObjectAnimator objectAnimator = ObjectAnimator.ofFloat(view, \"translationX\", 0f, 100f);\nobjectAnimator.setDuration(500);\nobjectAnimator.start();\n// 等待动画结束后重置动画\nobjectAnimator.addListener(new AnimatorListenerAdapter() {\n @Override\n public void onAnimationEnd(Animator animation) {\n objectAnimator.reverse();\n }\n});\n\n\n无论使用 AnimatorSet 还是 ObjectAnimator,都需要在动画结束后通过监听器的 onAnimationEnd() 方法来触发重置动画的操作。这样,当属性动画播放完毕后,就会自动反向播放,实现重置效果。\n"

Android View 属性动画重置方法 - 使用 AnimatorSet 和 ObjectAnimator

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

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