欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

自定义dialog消失动画,对话框添加购物车飞入动画

程序员文章站 2022-07-02 14:55:13
...
动画缩放飞入关键代码:
   ObjectAnimator animatorScaleX = ObjectAnimator.ofFloat(mView, "scaleX", 1.0f, 0.1f);
    ObjectAnimator animatorScaleY = ObjectAnimator.ofFloat(mView, "scaleY", 1.0f, 0.1f);

    ObjectAnimator animatorX = ObjectAnimator.ofFloat(mView, "translationY", 0, UiUtils.getScreenHeight() / 2 - (int) (UiUtils.dp2px(25) + 0.5));
    ObjectAnimator animatorY = ObjectAnimator.ofFloat(mView, "translationX", 0, -(UiUtils.getScreenWidth() / 2 - (int) (UiUtils.dp2px(20) + 0.5)));
    ObjectAnimator animatorRotation = ObjectAnimator.ofFloat(mView, "rotation", 0, 720);
    AnimatorSet set = new AnimatorSet();

    animatorScaleX.setInterpolator(new LinearInterpolator());
    animatorScaleY.setInterpolator(new LinearInterpolator());

    set.play(animatorX).with(animatorY).with(animatorRotation).after(animatorScaleX).after(animatorScaleY);
    //    set.playTogether(animatorX, animatorY, animatorRotation, animatorScaleX, animatorScaleY);
    set.setDuration(250);
    set.start();
    set.addListener(new Animator.AnimatorListener() {
        @Override
        public void onAnimationStart(Animator animation) {
        }

        @Override
        public void onAnimationEnd(Animator animation) {
            if (mView != null)
                mainLayout.removeView(mView);
        }

        @Override
        public void onAnimationCancel(Animator animation) {

        }

        @Override
        public void onAnimationRepeat(Animator animation) {

        }
    });

效果展示图:

 

自定义dialog消失动画,对话框添加购物车飞入动画

 

 

源码链接地址:https://github.com/pingcc/AnimalSetApplication