美文网首页
10. android动画《四》插值器(Interpolator

10. android动画《四》插值器(Interpolator

作者: liys_android | 来源:发表于2018-09-05 00:30 被阅读17次
    复杂动画(插值器和估值器).jpg

    一. 插值器(Interpolator)

    1. 作用

    作用:设置 属性值 从初始值过渡到结束值 的变化规律

    1. 如匀速、加速 & 减速 等等
    2. 即确定了 动画效果变化的模式,如匀速变化、加速变化 等等。
    2. 应用场景

    实现非线性运动的动画效果
    非线性运动:动画改变的速率不是一成不变的,如加速 & 减速运动都属于非线性运动

    3. 使用方式
    1. xml引用 android:shareInterpolator = ""
    2. java代码中引用 anim.setInterpolator();
    4. 系统内置9种插值器

    效果参考 https://blog.csdn.net/swt369/article/details/77620263
    使用Android内置的插值器能满足大多数的动画需求
    如果上述9个插值器无法满足需求,还可以自定义插值器

    5. 自定义插值器

    1. 补间动画

    public class MyInterpolator implements Interpolator {
        @Override
        public float getInterpolation(float input) {
            // 参数说明
            // input值值变化范围是0-1,且随着动画进度(0% - 100% )均匀变化
            // 即动画开始时,input值 = 0;动画结束时input = 1
            // 而中间的值则是随着动画的进度(0% - 100%)在0到1之间均匀增加
    
            float result = 0;
            result = input*input; //加速度增加
    //        result = input; //匀速
            return result;
        }
    }
    

    2. 属性动画

    public class MyTimeInterpolator implements TimeInterpolator {
        @Override
        public float getInterpolation(float input) {
            float result = 0;
            result = input*input; //加速度增加
    //        result = input; //匀速
            return result;
        }
    }
    

    二. 估值器(TypeEvaluator)

    1. 作用

    设置 属性值 从初始值过渡到结束值 的变化具体数值

    1. 插值器(Interpolator)决定 值 的变化规律(匀速、加速blabla),即决定的是变化趋势;而接下来的具体变化数值则交给估值器
    2. 估值器属性动画特有的属性
    2. 应用场景

    协助插值器 实现非线性运动的动画效果
    非线性运动:动画改变的速率不是一成不变的,如加速 & 减速运动都属于非线性运动

    3. 使用方式

    1. 构造方法传入

     ObjectAnimator anim = ObjectAnimator.ofObject(textView, "height", new IntEvaluator(), 1, 3);
    

    2. setEvaluator()
    ValueAnimator的方法,它的子类都可以调用

    4. 系统内置3种估值器

    (1). IntEvaluator:针对整型属性
    (2). FloatEvaluator:针对浮点型属性
    (3). ArgbEvaluator:针对Color属性

    5. 自定义估值器

    相关文章

      网友评论

          本文标题:10. android动画《四》插值器(Interpolator

          本文链接:https://www.haomeiwen.com/subject/siqnwftx.html