Android 动画:使用 AnimatorSet 创建图片放大、移动并跳转动画
您可以按照以下步骤使用 AnimatorSet 定义动作集:
-
创建一个 AnimatorSet 对象来定义动作集:
AnimatorSet animatorSet = new AnimatorSet(); -
创建一个放大动画,使用
ObjectAnimator来设置图片的缩放动画:ObjectAnimator scaleX = ObjectAnimator.ofFloat(imageView, 'scaleX', 5f);和ObjectAnimator scaleY = ObjectAnimator.ofFloat(imageView, 'scaleY', 5f); -
设置放大动画的持续时间:
scaleX.setDuration(1000);和scaleY.setDuration(1000); -
创建一个复原动画,使用
ObjectAnimator来设置图片的缩放动画:ObjectAnimator scaleXBack = ObjectAnimator.ofFloat(imageView, 'scaleX', 1f);和ObjectAnimator scaleYBack = ObjectAnimator.ofFloat(imageView, 'scaleY', 1f); -
设置复原动画的持续时间:
scaleXBack.setDuration(1000);和scaleYBack.setDuration(1000); -
创建一个垂直移动动画,使用
ObjectAnimator来设置图片的垂直移动动画:ObjectAnimator translateY = ObjectAnimator.ofFloat(imageView, 'translationY', 0f, 500f); -
设置垂直移动动画的持续时间:
translateY.setDuration(1000); -
创建一个复位动画,使用
ObjectAnimator来设置图片的垂直移动动画:ObjectAnimator translateYBack = ObjectAnimator.ofFloat(imageView, 'translationY', 500f, 0f); -
设置复位动画的持续时间:
translateYBack.setDuration(1000); -
将放大和复原动画添加到动作集中:
animatorSet.play(scaleX).with(scaleY).before(scaleXBack).before(scaleYBack); -
将垂直移动和复位动画添加到动作集中:
animatorSet.play(translateY).before(translateYBack); -
设置动作集的结束监听器,在动画结束后执行页面跳转操作:
animatorSet.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { // 执行页面跳转操作 } }); -
执行动作集:
animatorSet.start();
请注意,上述代码中的 imageView 是指需要进行动画操作的图片视图对象。您需要将其替换为您实际使用的图片视图对象。另外,您还需要根据您的实际需求调整动画的持续时间和跳转操作的代码。
原文地址: https://www.cveoy.top/t/topic/cbWr 著作权归作者所有。请勿转载和采集!