Android动画

Android动画

动画类型

  • 视图动画(View Animatio)
    1. 补间动画(Tween Animation)
    2. 逐帧动画(Frame Animation)
  • 属性动画(Property Anmation)--Android3.0(API 11后的新特性)

视图动画(View Animation)

  • 作用对象:视图(View)
  • 具体分类:补间动画(Tween Animation) 逐帧动画(Frame Animation)

补间动画

  • 简介
    1. 作用对象:视图控件(View TextView Button),不可作用于View组件的属性,如:颜色、背景等。
    2. 原理:通过确定开始的视图样式和结束的视图样式,中间变化过程由系统不全来确定一个动画。注:结束的视图样式:平移、缩放、旋转、透明度样式。
    3. 动画类型:平移动画(Translate)、缩放动画(Scale)、旋转动画(Rotate)、透明度(Alpha)动画。
    4. 特点:使用简单方便(已经封装好基础动画效果);缺点:仅控制整体实体效果,无法控制属性。
    5. 应用场景:
      1. 视图中,标准、基础的动画效果;
      2. Activity、Fragment的切换效果;
      3. ViewGroup 中子元素的出场效果;
  • 分类
名称 原理 对应的Animation子类
平移动画(Translate) 移动视图的位置 TranslateAnimation类
缩放动画(Scale) 放大、缩小 视图的大小 ScalaAnimation类
旋转动画(Rotate) 旋转试图的角度 RotateAnimation类
透明度动画(Alpha) 改变视图的透明度 AlphaAnimation类

逐帧动画

  • 简介
    1. 作用对象:同补间动画
    2. 原理:将动画拆分为 帧的形式,且定义每一帧=每一张图片
    3. 特点:优:使用简单、方便;缺点:容易引起oom,因会使用大量&尺寸较大的图片资源
    4. 应用场景:较为复杂的个性化动画效果。

属性动画

属性动画(Property Animation)是Android3.0(API11)后才提供的一种全新的动画模式
  • 作用对象:任意Java对象 不再局限于 视图View对象
  • 原理:在一定时间间隔内,通过不断对值进行改变& 不对将该值赋给对象的属性,从而实现对该对象在该属性上的动画效果。可以是任意对象的任意属性
  • 特点:作用对象进行了扩展,不只是View对象,甚至无对象也可以,动画效果丰富,不只是4种基本变化,
  • 应用场景:与属性相关,更加复杂的动画效果。
  • 具体使用:
使用类 作用 备注
ValueAnimator 先改变值,然后手动赋值给对象的属性从而实现动画(间接 对对象的属性进行操作) 本质是一种值的操作机制
ObjectAnimator 先改变值,然后自动赋值给对象的属性从而实现动画(直接 对对象的属性进行操作) 采用get() & set() 进行自动赋值
AnimatorSet 实现组合动画
ViewPropertyAnimator 采用对对象操作 实现属性动画
addListener() 动画监听器,监听动画开始、结束、取消、重复 时刻 可采用动画适配器(AnimatorListenerAdapter)按需监听动画时刻

区别

两类动画的根本区别在于:是否改变动画本身的属性。

你可能感兴趣的:(Android动画)