第七章,Android动画深入分析
一View动画
分类:TranslateAnimation平移动画,ScaleAnimation缩放动画、RotateAnimation旋转动画、AlphaAnimation透明度动画。
具体内容P282
使用
二,帧动画
顺序播放一组预先定义好的图片,类似于电影播放。
三、特殊使用场景
1.LayoutAnimation:作用于ViewGroup,为viewGroup指定一个动画,这样当他的子元素出场时都会具有这种动画效果。经常作用于ListView上
使用步骤
2,Activity切换效果
主要用到OverridePendingTransition(int enterAnim,int exitAnim)第一个参数进入动画,第二参数退出时的动画。
注意:这个方法必须在startActivity或者finish上午后面 不然不起作用。
三、属性动画 API11之后
ValueAnimation,ObjectAnimation和AnimatorSet
使用属性动画
3.属性动画监听器
(1)AnimatorListener 可以监听动画的开始,结束,取消以及重复播放
(2)AnimatorUpdateListener 监听整个动画过程,每播放一帧就会被调用一次
public static interface AnimatorUpdateListener{
void onAnimationUpdate(ValueAnimator animation);
}
4.对任意属性做动画
属性动画要求动画作用的对象提供该属性的get和set方法,属性动画根据外界传递的该属性的初始值和最终值,以动画的效果多次去调用set方法,每次传递给set方法的值都不一样,确切来说随着时间的推移,越来越接近最终值,我们要对object的属性abc做动画 想让动画生效,满足(1)object必须要提供setAbc的方法,必要提供getAbc地方法,不满足直接crash掉(2)object的setAbc方法堆属性abc做的改变能通过某种方法体现出来,,不满足动画无效果但是程序不会crash掉。
解决办法1 给你对象加上get和set方法 一般不可取 没有权限 2.用一个类来包装原始对象,间接提供get和set方法。p300
3,采用ValueAnimator监听动画过程
ValueAnimator本身不作用于任何对象
注意:不要使用px尽量使用dp;