Android动画

来源:互联网 发布:csgo网络参数显示 编辑:程序博客网 时间:2024/04/28 08:27

今天在做项目时用到了动画效果,以前动画接触的不是很多,正好用这个机会来恶补一下动画知识。

下面是我在项目中做的一些笔记

/** * 动画工具类 * 动画从使用复杂度来说分为两类,基本动画和组合动画。 * 从效果来说分为两大类,帧动画和补间动画。 * 帧动画:一帧一帧的播放,类似gif的动画方式。 * 补间动画:通过透明度、位移、旋转、缩放的方式来播放动画。 * 动画的执行流程: * 一、创建动画对象,Animation或AnimationSet。 * 二、设置动画播放效果,播放时间、播放后是否保留在最后一帧等。 * 三、播放动画。 *  * Interpolator:动画播放速率,常用的有九种AccelerateDeccelerateIntepolator、AccelerateIntepolator、DeccelerateInterpolator、CycleInterpolator、LinearInterpolator、BounceInterpolator、AnticipateInterpolator、OvershootInterpolator、AnticipateOvershootInterpolator * AccelerateDeccelerateInterpolator:先加速在减速 * AccelerateInterpolator:加速 * DeccelerateInterpolator:减速 * LinearInterpolator:匀速 * CycleInterpolator:正玄曲线速率变化,速率一直在变化 * AnticipateInterpolator:先回退 一小步在向前加速 * OvershootInterpolator:超出终点一小步在回退到终点。 * AnticipateOvershootInterpolator:AnticipateInterpolator和OvershootInterpolator的组合 * BounceInterpolator:终点回弹。 *  * 自定义动画播放速率,详情见官方文档。 * @author hezd * */

开发中遇到的问题:

1.当 一个动画比如缩放完成后保留最后状态,如果在这个状态下继续进行其他动画?

在进行放大动画时,动画结束后停留在放大状态,我需要在下一个界面保留这个放大状态并进行位移动画操作,这样可以实现没有切换界面的那种流畅的感觉。开始的想法是在下一个界面将图片瞬间放大,然后在进行位移,但是结果是进行位移时,图片又恢复到初始的缩小状态。后来的解决办法是使用组合动画,让图片始终处于放大状态比如7倍同时进行位移并设置保留最终在状态,这样解决了这个棘手的问题。

0 0