美文网首页Android Study Together Android开发经验谈Android开发
Android动画机制及特效实例(一)——Android群英传学

Android动画机制及特效实例(一)——Android群英传学

作者: 辰_鱼 | 来源:发表于2019-03-25 15:00 被阅读4次

    Android View动画框架

    原理:每次绘制视图时View所在的View Group中的drawChild函数获取该View的Animation的Transformation值,然后调用canvas.concat(transformToApply.getMatrix()),通过矩阵运算完成动画帧。

    视图动画:

    AlphaAnimation(透明度动画):

    图 1

    RotateAnimation(旋转动画):

    图 2

    TranslateAnimation(位移动画):

    图 3

    ScaleAnimation(缩放动画):

    图 4

    动画合集:通过AnimationSet将动画以组合形式展现

    图 5

    属性动画:

    ObjectAnimator:创建一个ObjectAnimator只需通过其静态工厂类直接返回ObjectAnimator对象。

    图 6

    注意:在使用ObjectAnimator时,要操纵的属性必须具有get、set方法,否则ObjectAnimator无法起效。如果属性没有get、set方法,也可通过自定义一个属性类或者包装类来间接给属性增加get、set方法,使用时只需操纵包装类就可调用方法。

    图 7
    图 7-2

    PropertyValuesHolder:与AnimationSet类似,同时作用多种动画

    图 8

    ValueAnimator:Object Animation 继承自ValueAnimator

    图 9

    使用方法:在ValueAnimator的AnimatorUpdateListener中监听数值的变换,从而完成动画的变换

    图 10

    动画事件的监听:一个完整动画具有Start、Repeat、End、Cancel四个过程

    图 11

    AnimatorSet:作用多种动画,同时实现更为精确的顺序控制

    图 12

    View的animate方法:直接驱动属性动画

    图 13

    这篇文章到这里就结束了,Android布局动画、自定义动画以及特效实例(灵活菜单、计时器动画)等将放在下篇文章继续学习!!!

    相关文章

      网友评论

        本文标题:Android动画机制及特效实例(一)——Android群英传学

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