zoukankan      html  css  js  c++  java
  • Android Animatioin总结


    一、动画分类
    1.  View Animation (Tween动画) 
    执行一系列简单的转换。
         针对 视图对象内容进行移动,放大,缩小以及产生透明度的变化等四种动画操作。仅针对视图对象内容:
         例如:有一个TextView仅能针对文字进行四种动画操作。
         例如:有一个ImageView仅能针对背景进行四种动画操作。

    更多可参考文档:

    2.  Drawable Animation (Frame动画)
    传统的动画方法,通过顺序的播放排列好的图片来实现。
    某种意义上说像一个胶卷,它是创建一系列不同的对象,按顺序播放。 基类是AnimationDrawable

    不能再onCreate中调用start方法,因为AnimationDrawable尚未完全附加到窗口上。如果你想立即播放动画,而无需互动,那么你可能想在您的活动onWindowFocusChanged()方法,当Android有焦点时调用它。

    更多可参考文档


    3. Property Animation
       Android 11 (3.0)以上才支持,看很多介绍时可以改变视图的属性,但是支持视图外所有对象的动画变换,但是未发现如何修改视图属性的。

    ViewPropertyAnimator
    interpolator


    二、原理简单分析
    View Animation 与 DrawableAnimation仅重新绘制,即使使用位移动画显示位置发生改变,其实视图的位置为发生改变。
    分别是位置,大小,角度由Matrix 进行 3*3的矩阵变换,、透明度Alpha负责。




    代码和xml配置两种


    参考资料:
    Android中图像变换Matrix的原理、代码验证和应用(一) 共有3篇
    http://blog.csdn.net/pathuang68/article/details/6991867

    分析android动画模块
    http://www.linuxgraphics.cn/animation/android_tween_animation.html

    Android 动画框架详解,第 1 部分
    http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/
    Android 动画框架详解,第 2 部分
    http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt2/



    Animation Resources



  • 相关阅读:
    python count函数
    kubenetes服务发现
    k8s网络
    k8s创建pod流程
    openstack创建虚拟流程、各组件介绍
    生产者消费者问题
    Date类和Calendar类
    Timer定时器
    Java中的克隆
    注解
  • 原文地址:https://www.cnblogs.com/pangblog/p/3424013.html
Copyright © 2011-2022 走看看