码迷,mamicode.com
首页 > 移动开发 > 详细

Android 动画技术

时间:2015-03-10 12:16:34      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:android动画   逐帧动画   补间动画   属性动画   surfaceview   

关于android动画主要有三种:补间动画,逐帧动画和属性动画(android3.0以后引入)详细了解动画的基本知识,可详细阅读该博文http://www.cnblogs.com/angeldevil/archive/2011/12/02/2271096.html 。博文主要对android动画在项目中开发问题及解决办法列举如下:

    1、属性动画是在android3.0后引入的。据工作中项目经验,属性动画效率貌似高于补间动画和逐帧动画。建议使用属性动画在android3.0以上设备,属性动画基本可以实现补间动画和帧动画效果。同时当需要展示动画的view属性设置成gone状态时候,动画不会启动。

    2、关于帧动画启动不能在oncreate中启动,在oncreate中启动有可能view控件未显示加载出来从而动画效果没有作用,一般来说在onwindowfocuschanged方法中启动动画即可。

    3、关于在viewgroup中删除含有动画的view后,由于view动画尚未执行结束即使view已经删除但是在屏幕上仍残存,此时可以调用viewgroup中的方法clearDisappearingChildren 避免以上情况的发生。同时在安卓低版本中建议调用该方法后调用刷新方法。

    4、关于水平滚动的类listview可以采用android 最新推出的 RecylerVeiw来实现。


逐帧(Frame)动画

收集静态图片,控制依次显示,肉眼视觉停留。

AnimationDrawable 刷网页,动态加载,转圈等


补间(Tween)动画:

只需指定开始结束的关键帧,中间帧由系统计算。

Interpolator 透明度改变、大小缩放、位移变化,旋转动画等等。


属性动画:

增强版的补间动画,可定义任何属性的变化(不光透明度,大小,位移,旋转),对任何对象执行动画(不管是否系那是在屏幕上)。

很多API

Animator:创建属性动画基类,被继承重写;

ValueAnimator:主要的时间引擎,计算帧的属性值,核心功能。

小球掉落动画,监听用户在屏幕上的触屏时间。。。


SurfaceView实现动画:

View进行绘图存在缺陷:

1.View缺少双缓存机制,

2.当程序更新View图像时,程序必须重绘View上显示的整张图片,

3.新线程无法直接更新View组件


所以自定义View绘图,游戏中的绘图。Android提供了SurfaceView来代替View,游戏中更出色。



Android 动画技术

标签:android动画   逐帧动画   补间动画   属性动画   surfaceview   

原文地址:http://blog.csdn.net/wtyvhreal/article/details/44172173

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!