您的位置:首页 > 移动开发 > Android开发

Android 开发艺术探索 读书笔记7

2017-02-26 16:55 218 查看
第七章,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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: