在Android中,基本上有四种类型的动画:逐帧动画,补间动画,属性动画和转场动画。
- 逐帧动画(Frame-by-Frame Animation): 逐帧动画也被称为帧动画或者帧动画列表,是由一系列的静态图像(每张图像称为一帧),依次播放而形成的动画效果。逐帧动画在开发者资源消耗较大,建议在动画比较简单的情况下使用。在Android中,逐帧动画可以通过XML文件或Java代码进行创建和管理。
- 补间动画(Tween Animation):也称为View动画 补间动画也被称为Tween动画,是一种利用起始状态和结束状态之间的差异改变图形或视图的动画效果。可以通过补间动画设置来控制动画持续时间、重复次数、差值器和是否重复等属性,使动画更加生动有趣。补间动画支持包括平移、旋转、缩放和alpha淡入淡出等效果,并且可以通过XML文件或Java代码动态创建和管理。
- 属性动画(Property Animation): 属性动画是拥有最灵活的动画类型,可以在一个动画中同时实现补间动画和逐帧动画的效果。使用属性动画可以动态地改变视图的属性(例如,位置,大小,颜色,透明度等),并且可以改变非UI组件(比如Java对象)中的任意属性值。属性动画在Android 3.0及以上版本中被引入,由于其强大的动画效果和易用性,已经逐渐取代了补间动画。
- 转场动画(Transition Animation): 转场动画,也称场景过渡动画,可以在两个Activity之间或两个Fragment之间进行场景切换过渡动画。在Android中,它们可以通过库中的transition-framework实现,可以通过XML或Java代码创建和管理。可以实现页面内的过度动画,对于用户体验和动画不占用太大资源而言十分重要。