Android 属性动画

来源:互联网 发布:李兴华 java 框架 编辑:程序博客网 时间:2024/06/13 21:49

        //位移

        ObjectAnimator y = ObjectAnimator.ofFloat(imageView, "y", 0, 10, 200, 250, 500, 1000, 1100, 1300);

        //缩放

        ObjectAnimator scaleX = ObjectAnimator.ofFloat(imageView, "scaleX", 0.5f, 2);

        ObjectAnimator scaleY = ObjectAnimator.ofFloat(imageView, "scaleY", 0.5f, 2);
        //透明度
        ObjectAnimator alpha = ObjectAnimator.ofFloat(imageView, "alpha", 0.5f, 1.0f);
        //反转/旋转
        ObjectAnimator rotationX = ObjectAnimator.ofFloat(imageView, "rotationX", 0, 360);
        ObjectAnimator rotationY = ObjectAnimator.ofFloat(imageView, "rotationY", 0, 360)

        AnimatorSet animatorSet = new AnimatorSet();


        //设置
        /*animatorSet.play(y).before(scaleX);
        animatorSet.play(scaleX).with(scaleY);
        animatorSet.play(alpha).with(scaleY);
        animatorSet.play(rotationX).with(alpha).with(rotationY);*/


        animatorSet.play(y).with(scaleX).with(scaleY).with(alpha);

        animatorSet.setDuration(5000);
        animatorSet.start();


        //监听事件

        animatorSet.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animator) {

            }

            @Override
            public void onAnimationEnd(Animator animator) {
                Toast.makeText(MainActivity.this,"结束,跳转页面",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onAnimationCancel(Animator animator) {

            }

            @Override
            public void onAnimationRepeat(Animator animator) {

            }
        });