Android三种动画之 属性动画笔记

Android系统中的动画主要可分为三类

1.帧动画 (传送门

2.补间动画(传送门

3.属性动画(传送门

注:下图来源其他博主,仅此一张

属性动画和补间动画的区别

1. 作用对象局限:View

    补间动画: 只能够作用在视图View上,即只可以对一个ButtonTextView、甚至是LinearLayout、或者其它继承自View的组件进行动画操作,但无法对非View的对象进行动画操作、

   属性动画: 不再局限于 视图View对象

2. 没有改变View的属性,只是改变视觉效果

  • 补间动画只是改变了View的视觉效果,而不会真正去改变View的属性。
  • 如,将屏幕左上角的按钮 通过补间动画 移动到屏幕的右下角
  • 点击当前按钮位置(屏幕右下角)是没有效果的,因为实际上按钮还是停留在屏幕左上角,补间动画只是将这个按钮绘制到屏幕右下角,改变了视觉效果而已。

    属性动画:改变了位置

3. 动画效果单一

  • 补间动画只能实现平移、旋转、缩放 & 透明度这些简单的动画需求
  • 一旦遇到相对复杂的动画效果,即超出了上述4种动画效果,那么补间动画则无法实现。

属性动画的原理:

  • 在一定时间间隔内,通过不断对值进行改变并不断将该值赋给对象的属性,从而实现该对象在该属性上的动画效果
  • 可以是任意对象的任意属性
  • 从工作原理可以看出属性动画有两个非常重要的类:ValueAnimator 类 & ObjectAnimator 类

实际开发中,建议使用Java代码实现属性动画:因为很多时候属性的起始值是无法提前确定的(无法使用XML设置),这就需要在Java代码里动态获取。

猜你喜欢

转载自blog.csdn.net/qq_34927117/article/details/81530675