android 动画参考
来源:互联网 发布:淘宝升钻有什么好处 编辑:程序博客网 时间:2024/06/10 22:47
https://github.com/daimajia/AnimationEasingFunctions
https://github.com/Nightonke/JellyToggleButton/
http://www.cnblogs.com/oshub/articles/4360451.html
用AnimatorSet类来编排多个动画
在很多场景中,一个动画的播放要依赖与另一个动画的开始或结束。Android系统让你把这些相互依赖的动画绑定到一个AnimatorSet对象中,以便能够指定它们是同时的、顺序的、或在指定的延时之后来播放。AnimatorSet对象也能够彼此嵌套。
以下示例代码来自Bouncing Balls示例,它按照以下方式播放Animator对象:
1. 播放bounceAnim
2. 同时播放squashAnim1、squashAnim2、stretchAnim1和stetchAnim2
3. 播放bounceBackAnim
4. 播放fadeAnim
AnimatorSet bouncer = new AnimatorSet();
bouncer.play(bounceAnim).before(squashAnim1);
bouncer.play(squashAnim1).with(squashAnim2);
bouncer.play(squashAnim1).with(stretchAnim1);
bouncer.play(squashAnim1).with(stretchAnim2);
bouncer.play(bounceBackAnim).after(stretchAnim2);
ValueAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f);
fadeAnim.setDuration(250);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(bouncer).before(fadeAnim);
animatorSet.start();
关于如何使用动画集的完整示例,请看APIDemo中的Bouncing Balls示例。
动画监听器
使用下列介绍的监听器能够监听动画播放期间的重要事件:
1. Animator.AnimatorListener
onAnimationStart()---动画开始的时候被调用
onAnimationEnd()---动画结束的时候被调用,它不管动画是如何结束的。
onAnimationRepeate()---动画重复播放的时候被调用
onAnimationCancel()---动画被取消播放的时候被调用。
2. ValueAnimator.AnimatorUpdateListener
onAnimationUpdate()---在动画的帧上调用这个方法。通过监听这个事件,使用在动画期间由ValueAnimator对象产生的计算值。要使用这个值,就要用getAnimateValue()方法查询传递到事件中的ValueAnimator对象,以便获得当前的动画值。如果使用ValueAnimator类,那么实现这个监听器是必须的。
根据属性或对象的动画效果,可能需要调用View对象上的invalidate()方法,用新的动画值来强制屏幕的指定区域进行重绘。例如,Drawable对象的颜色属性的动画效果,在对象重绘自己的时候,只会导致屏幕的更新。在View对象上的所有属性的设置器,如setAlpha()、setTranslationX()等方法都会正确的让View对象失效,因此在调用这些方法设置新值的时候,你不需要让该View对象失效。
如果不实现Animator.AnimatorListener接口的所有方法,你能够继承AnimatorListenerAdapter类,来代替对Animator.AnimatorListener接口的实现。AnimatorListenerAdapter类对这些方法提供了空的实现,你可以选择性的重写这些方法。
例如,APIDemo中的Bouncing Balls示例就只创建了一个AnimatorListenerdapter类的onAnimationEnd()回调方法:
ValueAnimatorAnimator fadeAnim =ObjectAnimator.ofFloat(newBall,"alpha",1f,0f);
fadeAnim.setDuration(250);
fadeAnim.addListener(newAnimatorListenerAdapter(){
publicvoid onAnimationEnd(Animator animation){
balls.remove(((ObjectAnimator)animation).getTarget());
}
缓动函数指定动画效果在执行时的速度,使其看起来更加真实。
现实物体照着一定节奏移动,并不是一开始就移动很快的。当我们打开抽屉时,首先会让它加速,然后慢下来。当某个东西往下掉时,首先是越掉越快,撞到地上后回弹,最终才又碰触地板。
本页可以在每次你需要时,帮助你找到想要的缓动函数。
linear
- android 动画参考
- 关于android的闪烁动画。 参考原创demo的<20130314帧动画以及动画>
- Android 爆炸粒子动画-参考ExplosionField开源项目
- 自定义转场动画 参考
- Persona 动画编辑器参考
- 理解动画的参考文章
- CATransition 动画的参考解析
- CATransition 动画的参考解析
- Animation参考(View动画)
- Animator参考(属性动画)
- Android动画--视图动画
- Android动画--属性动画
- android动画 -- 属性动画
- Android:动画:tween动画
- Android:动画:Frame动画
- Android动画动画二
- Android动画-属性动画
- Android动画【属性动画】
- 【备忘】大数据Hbase视频源码解析与开发实战教程下载
- cef MasterBuildQuickStart
- Linux总结笔记5-配置虚拟主机
- 如何创建自己的网站
- 设计模式:工厂方法模式
- android 动画参考
- 多线程之CountDownLatch
- =与==
- android网络访问框架OkHttp的进一步封装
- Java笔记
- mysql性能优化-慢查询分析、优化索引和配置
- Java 抽象类和抽象方法
- 安装使用VS2015 communition 版本遇到的坑
- 最短路径(最基础,经典的模板和思想):HDU-2544最短路