ValueAnimator属性动画学习笔记

本文介绍了Android中属性动画和补间动画的区别及应用。属性动画通过改变对象属性实现动画效果,而补间动画则由系统计算动画变化过程。文章详细讲解了ValueAnimator类的使用方法,展示了如何创建缩放动画。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  属性动画是通过改变对象的属性来改变对象在屏幕中的显示效果,而补间动画就是指开发者只需要指定动画的开始、结束等“关键帧”,而动画变化的“中间帧”则由系统计算并补齐。补间动画只能够作用在View上,它只能够实现移动、缩放、旋转和淡入淡出这四种动画操作,它只是改变了View的显示效果而已,而不会真正去改变View的属性。Android开发团队决定在3.0版本当中引入属性动画这个功能,属性动画的实现机制是通过对目标对象进行赋值并修改其属性来实现的。
类的继承关系
ValueAnimator是整个属性动画机制当中最核心的一个类,它的内部使用一种时间循环来计算值与值之间的动画过渡,我们只需要将初始值和结束值提供给它,并且告诉它动画运行的时长,那么它就会自动帮我们完成从初始值平滑地过渡到结束值这样的效果。效果图如下所示:
这里写图片描述

将动画从1执行到500,通过scaleX,scaleY方法对图像进行X轴和Y轴的缩放操作,时长设置为900毫秒,重复次数为5次。

ValueAnimator animator = ValueAnimator.ofFloat(1f, 500f);
        animator.setDuration(900);
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                float value = (float) animation.getAnimatedValue();
                Log.d(TAG,"onAnimationUpdate value:"+value);
                icon.setScaleX(0.5f+value/200);
                icon.setScaleY(0.5f+value/200);
            }
        });
        animator.setRepeatCount(5);
        animator.start();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值