Android动画Android开发Android技术知识

android那些事--属性动画01-ValueAnimator

2016-11-21  本文已影响133人  lucky9322

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

属性动画需要了解的

这里写图片描述
补间动画需要了解的
这里写图片描述

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

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

属性动画的使用

学习使用属性动画需要知道这么三个类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这两个值就是属性动画机制里的起始和中指指.如果只传一个参数的话代表起始和终止值相同.同样也可以传递多个值,因为这个方法是一个可变参数数组的形式.


这里写图片描述

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


这里写图片描述
这里写图片描述

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

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

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

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


上面就是ValueAnimator的简单介绍.

上一篇下一篇

猜你喜欢

热点阅读