欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android中的动画3(属性动画)

程序员文章站 2022-05-03 12:52:27
...

因为补间动画有一定的局限性,补间动画只是视觉上改变了位置,而他的作用位置(像点击的位置)并没有改变。针对补间动画的局限性,Android就引进了属性动画。

因为我的文章比不上大神的文章,这里就引用一下吧。

大神的文章里边将的比较全面。我这里就做一些内容的补充。

对属性动画讲解的比较清楚,其中有一点没怎么将详细。那就是Evaluator(求值器)。
以TypeEvaluator为例,来看一下它的源码。

public interface TypeEvaluator<T> {

    /**
     * 这个方法返回的是变化过程中的结果值,反映的是动画的变化规律,这个规律我们可以自
     * 定义。
     * @param fraction fraction = 设置的值/duration 平均的变化值  
     * @param startValue 开始时的值
     * @param endValue   结束时的值
     */
    public T evaluate(float fraction, T startValue, T endValue);
}

所以Evaluator(求值器)主要是动画的效果变得可控,可以做出更多符合要求的动画。

还有一个是AnimatorUpdateListener,看一下源码:

public static interface AnimatorUpdateListener {
        /**
         * @param animation 重复的动画,根据求值器的值得到的相关动画,不断地变
         * 化。
         * animation.getAnimatedValue得到的就是求值器的值,在里边可以设置动画
         * 的位置
         */
        void onAnimationUpdate(ValueAnimator animation);

    }

学完这些就可以在Animating Views Using Scenes and Transitions中自定义Transition。

相关标签: android 动画