分享

Android 动画

 Joselyn_cui 2014-12-23
动画的实质是什么?
android动画实现机制
android动画实现以及编写方法

1. 分类
Property Animation 3.0以上 api 11
ViewAnimation
ObjectAnimation

View Animation -- TweenAnimation 
渐变动画 alpha animation
旋转动画 rotate animation
缩放动画 scale animation
位移动画 translate animation
Drawable Animation -- FrameAnimation

2. Android 动画实现原理
动画运行模式
独占模式
中断模式
Animation 类
每个动画都重载了父类的applyTransformation方法, 这个方法会被父类的getTransformation方法调用。 另外每个动画还有个initialize方法, 完成初始化工作。
Interpolater类
 
 
Transformation类
Transformation记录了仿射矩阵Matrix, 动画每触发一次, 会对原来的矩阵做一次运算, View的Bitmap与这个矩阵相乘就可以实现相应的操作(旋转, 平移, 缩放等)。
Transformation类封装了矩阵和alpha值, 他有两个重要的成员, 一个是mMatrix, 另一个是mAlpha。



Android动画实现原理
图形变换通过矩阵实现。 图形变换是图形学中的基本知识。 简单来说就是, 每种变换都是一次矩阵运算。 在Android中, canvas类中包含当前矩阵, 当调用Canvas.drawBitmap(bmp, x, y, Paint)绘制时, android会先把bmp做一次矩阵运算, 然后将运算的结果显示在Canvas上。 这样, 编程人员只需不断的修改Canvas的矩阵并刷新屏幕, View里的对象就会不停的做图形变换, 动画就形成了。

 Activity动画效果
1. 修改Activity Theme
 
 

使用代码设定
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多