1.Android View动画框架
实现原理是每次绘制视图时View所在的ViewGroup中的drawChild函数获取该View的Animation Transformation值,然后调用canvas.concat(transformToApply.getMatrix()),方法,通过矩阵运算完成画幁
1---5:视图动画
1.透明度动画
2.旋转动画
3.位移动画
4.缩放动画
5.动画集合
2.Android属性动画分析
1.ObjectAnimator
(1)以前的动画框架所产生的动画并不能改变事件响应的位置,它只是单纯地修改了显示。而属性动画不同,它真实的改变了一个View的属性,所以事件的响应的区域也同样发生了改变,这时候点击移动后的按钮,就会响应点击事件
2.PropertyValuesHolder
(1)类似于动画中的AnimationSet 集合
3.ValueAnimator
(1)ObjectAnimator也是继承自ValueAnimator
(2)ValueAnimator本身不提供任何动画效果,它更像一个数值发生器,用来产生具有一定规律的数字,从而让调用者来控制动画的实现过程
(3)ValueAnimator的使用
4.动画事件的监听
(1)Android提供了一个AnimatorListenerAdapter来让我们选择要监听的事情,动画的start,repeat,end, cancel四个过程
5.AnimatorSet
(1)AnimatorSet不仅能同时作用多个属性动画效果,同时也能实现更为精确的顺序控制
6.在XML中使用属性动画
7.View的animate方法
3.Android布局动画
1.布局动画是指作用于ViewGroup上,给ViewGroup增加View时添加一个动画过渡效果
2.http://www.it165.net/pro/html/201505/41748.html
4.Interpolators(插值器)
1.通过插值器,可以定义动画变换速率,类似于物理的加速度
5.自定义动画
****
6.Android 5.X SVG 矢量动画机制
?
7.Android动画特效
1.灵动菜单
(1)点击红点,展开菜单,并带有一个缓冲的过渡动画
(2)因为具有用户交互性,所以不能使用视图动画而必须使用属性动画。
(3)代码-----
2.计时器动画
(1)熟悉ValueAnimator的使用---代码
3.下拉展开动画
(1)使用ValueAnimator
(2)将View的visibility属性由gone设置为visible
(3)代码---------
----------------Form《Android群英传》
Android自定义控件三部曲文章索引:http://blog.csdn.net/harvic880925/article/details/50995268