安卓笔记——动画

帧动画

缺点:内存消耗占用太多

补间动画

来自安卓老师的图
在这里插入图片描述

透明度变化

1、在activity.xml内写上相应的图片及按钮。

2、在 MainActivity .java文件中绑定图片,按钮,增加动画效果

ImageView imageView;
@SuppressLint("WrongViewCast")

imageView = findViewById(R.id.imageView);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                透明度动画
                ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"alpha",1,0,1,0);   //缩放动画
                objectAnimator.setDuration(5000);         //动画执行时间
                objectAnimator.start();                   //动画开始
            }
        });

缩放

findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                缩放动画
                ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"scaleX",2,0.5f);   //缩放动画
                objectAnimator.setDuration(5000);         //动画执行时间
                objectAnimator.start();                   //动画开始
            }
        });

位移

findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                位移动画
                ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"translationX",-200,200);   //缩放动画
                objectAnimator.setDuration(5000);         //动画执行时间
                objectAnimator.start();                   //动画开始
            }
        });

旋转

findViewById(R.id.button4).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                旋转动画
                ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(imageView,"rotation",0,360);   //缩放动画
                objectAnimator.setDuration(5000);         //动画执行时间
                objectAnimator.start();                   //动画开始
            }
        });

组合动画

findViewById(R.id.button5).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                组合动画
                ObjectAnimator objectAnimatorX = ObjectAnimator.ofFloat(imageView,"scaleX",0,2f);   //缩放动画
                ObjectAnimator objectAnimatorY = ObjectAnimator.ofFloat(imageView,"scaleY",0,2f);   //缩放动画
                ObjectAnimator objectAnimatoralpha = ObjectAnimator.ofFloat(imageView,"alpha",1,0f);   //缩放动画
//                合成
                AnimatorSet animatorSet = new AnimatorSet();
                animatorSet.play(objectAnimatoralpha)
                           .with(objectAnimatorX)
                           .with(objectAnimatorY);
//                执行:play   同时:with   之后:before
                animatorSet.setDuration(5000);         //动画执行时间
                animatorSet.start();                   //动画开始
            }
        });

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值