1.概述:Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换 ( 平移、缩放、旋转 ) 产生动画效果;第二类是 Frame 动画,即顺序播放事先做好的图像,跟电影类似。
2.原理:
现有的 Android 动画框架是建立在 View 的级别上的,在 View 类中有一个接口 startAnimation 来使动画开始,startAnimation 函数会将一个 Animation 类别的参数传给 View,这个 Animation 是用来指定我们使用的是哪种动画,现有的动画有平移,缩放,旋转以及 alpha 变换等。

Android 动画就是通过 ParentView 来不断调整 ChildView 的画布坐标系来实现的,下面以平移动画来做示例,见下图 4,假设在动画开始时 ChildView 在 ParentView 中的初始位置在 (100,200) 处,这时 ParentView 会根据这个坐标来设置 ChildView 的画布,在 ParentView 的 dispatchDraw 中它发现 ChildView 有一个平移动画,而且当前的平移位置是 (100, 200),于是它通过调用画布的函数 traslate(100, 200) 来告诉 ChildView 在这个位置开始画,这就是动画的第一帧。如果 ParentView 发现 ChildView 有动画,就会不断的调用 invalidate() 这个函数,这样就会导致自己会不断的重画,就会不断的调用 dispatchDraw 这个函数,这样就产生了动画的后续帧,当再次进入 dispatchDraw 时,ParentView 根据平移动画产生出第二帧的平移位置 (500, 200),然后继续执行上述操作,然后产生第三帧,第四帧,直到动画播完
.
原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt1/index.html

示例可参考:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=564

更多相关文章

  1. Android(安卓)Activity界面切换添加动画特效
  2. android实现字体闪烁动画的方法
  3. Android:interpolator用法
  4. android之BitMap
  5. android之BitMap
  6. 创建android逐帧动画的两种方式
  7. Android(安卓)Activity界面切换添加动画特效
  8. android dialog 动画
  9. Android(安卓)属性动画(Property Animation) 完全解析 (下)

随机推荐

  1. android中SharedPerferences保存数据
  2. Android(安卓)webview 问题记录
  3. Android之实现手电筒实例
  4. intent 发起网址程序 以及发起市场market
  5. Android(安卓)关键字 收集
  6. Android开发:常用Dialog的几种格式显示,普
  7. Android(安卓)批量卸载手机上的apk
  8. Drawable、Bitmap、byte[]之间的转换
  9. Android(安卓)Retrofit 笔记之二配置通用
  10. Android开发常用经典代码段集锦