android valueanimator结束监控,android那些事--属性动画01-ValueAnimator(数值产生器)

写代码尴尬的是类太多不知道应该使用哪一个,正确的说是不知道某个类是做什么的.所以比较喜欢从源头看一下,有个大致了解.

属性动画需要了解的

94a07990f351

这里写图片描述

补间动画需要了解的

94a07990f351

这里写图片描述

属性动画与3.0之前的一个对比

因为主要是为了了解使用属性动画,所以统一将帧动画和补间动画成为3.0之前

3.0之前的动画是相对健全的,因为只能满足透明度,旋转,移动,缩放等行为.

3.0之前的动画是只能够作用在view上的,文档是这么写的Abstraction for an Animation that can be applied to Views, Surfaces, or other objects.一个抽象的类被作用于view,surfaces,或者其他类上.

另外补间动画还有一个致命的缺点,就是只改变了view的显示效果,而不会真的去改变view的属性.

属性动画的使用

学习使用属性动画需要知道这么三个类ValueAnimator,ObjectAnimator,AnimatorSet.上面展示了这三者的关系.

在使用前有必要对属性动画的机制进行一个了解,然后再看如何使用最后在回顾一下这个机制,那属性动画就可以掌握了.

属性动画的运行机制是不断通过对值进行操作来实现的,即对初始值和结束值进行设置,这之间的就由ValueAnimator来完成.

ValueAnimator的使用

private void initAnimator() {

ValueAnimator animator=ValueAnimator.ofFloat(0f,1f);

animator.setDuration(3000);

animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

LogUtil.i(animation.getAnimatedValue());

}

});

animator.start();

}

上面这段代码就是展示了从0到1在3秒内数值的一个变化进度.

首先使用它的静态工厂类返回一个对象,同时设置参数0,1这两个值就是属性动画机制里的起始和中指指.如果只传一个参数的话代表起始和终止值相同.同样也可以传递多个值,因为这个方法是一个可变参数数组的形式.

94a07990f351

这里写图片描述

打印结果如下,内容太长就只截取了开始和结尾.

94a07990f351

这里写图片描述

94a07990f351

这里写图片描述

同样如果你需要的是整数的过度变化,那么就调用下面这个方法.

ValueAnimator animator=ValueAnimator.ofInt(0,1);

基础的就是这样,我们还需要知道它的其它的一些方法.

cancel() 取消当前动画

getDuration() 获取这个动画的执行时间

getRepeatMode() 获取重复模式

getRepeatCount() 获取重复次数

getStartDelay() 获取延迟开始时间

setDuration(long duration) 设置动画之行时间

setRepeatCount(int value)

setRepeatMode(int value)

start()

在设置动画的重复模式的时候有这么三个模式可以设置,也是该类中的常量值

INFINITE 无穷尽的一直执行

RESTART 重头开始再次执行

REVERSE 从结束开始向开始返回去执行

上面就是ValueAnimator的简单介绍.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值