Android App开发动画特效中帧动画和电影淡入淡出动画的讲解及实战(附源码

  需要图片集和源码请点赞关注收藏后评论区留言~~~

  Android的动画分为三类,帧动画,补间动画和属性动画。其中帧动画是实现原理最简单的一种,跟现实生活中的电影胶卷类似,都是在短时间内连续播放多张图片,从而模拟动态画面的效果。

  Android的帧动画由动画图形AnimationDrawable生成,下面是它的主要方法

  1:addFrame 添加一副图片帧

  2:setOneShot 设置是否只播放一次

  3:start 开始播放

  4:stop 停止播放

  5:isRunning 判断是否正在播放

  有了动画图形,还得有一个宿主视图显示该图形,一般使用图像视图承载AnimationDrawable,即调用图像视图的setImageDrawable方法加载动画图形

  除了在代码中添加帧图片之外,还可以现在XML文件中定义帧图片的排列,然后在代码中调用图像视图的setImageResource方法,加载指定的XML图形定义文件,再调用图像视图的getDrawable方法 获得动画图形的实例? 效果如下

  

  代码如下

  帧动画采取后面一帧直接覆盖前面一帧的显示形式,这在快速轮播时没有什么问题,但是如果每帧之间间隔时间比较长,那么两帧之间的动画切换就会很生硬,直接从前一帧到后一帧会让人觉得很突兀,为了解决这种长间隔切换图片在视觉方面的问题,Android提供了过渡图形TrainsitionDrawable处理两张图片之间的渐变显示,即淡入淡出的动画效果

  主要方法如下

  setTransition 开始过渡操作

  resetTransition? 重置过渡操作

  reverseTransition? 倒过来执行过渡操作

  效果如下 有点类似电影中那种缓慢切换图片的视频效果 十分有意境!

  如下图所示 图像在切换 但是显得很顺畅 不生硬

  

  

  

  代码如下

  创作不易 觉得有帮助请点赞关注收藏~~~