在上篇博客,我们使用Android属性动画和Scroller实现了实现下拉式窗帘动画和上拉式抽屉动画,并从源码角度分析了Scroller的原理。还没有看的小伙伴点击这里:Android动画实战 一 实现下拉式窗帘动画和上拉式抽屉动画
本篇博客,我将对Android动画做一个总结性的概括,但并不会详细的去分析每个动画,如果还不了解Android动画的小伙伴可以看我之前写的文章:Android动画之旅一Android动画基本介绍
1.从Android动画的优缺点来分析:
(1)逐帧动画(Frame Animation)
概述:主要用于播放一帧帧准备好的图片,类似GIF图片。
优点:使用简单方便,只需要作为ImageView的Background来使用即可。
缺点:是需要事先准备好每一帧图片,比较繁杂。
(2)补间动画(Tween Animation)
概述:仅需定义开始与结束的关键帧,而变化的中间帧由系统补上。
优点:不用准备每一帧。
缺点:只改变了对象绘制,而没有改变View本身属性。因此如果改变了按钮的位置,还是需要点击原来按钮所在位置才有效。
(3)属性动画(Property Animation)
概述:属性动画是Android 3.0之后Google才推出的动画,使用起来非常简单、更容易实现较为复杂的动画效果,优化了动画效果。
优点:直接更改对象的属性、一般情况下,可适用于任何对象而仅非View对象。
缺点:API 需要3.0以上的API支持,如果有小伙伴需要兼容3.0以下版本,那么国外有个开源库,可以提供低版本支持。
2.在Android动画中经常使用的一些动画属性:
(1)translation:
translationX: View相对于X轴原始坐标的偏移量。
translationY:View相对于Y轴原始坐标的偏移量。
(2)rotation:
rotationX:以X轴为中心点旋转。
rotationY: 以Y轴为中心点旋转。
(3)scale:
scaleX:X方向的缩放比。
scaleY: Y方向的缩放比。
(4) x坐标:View移动的最终X坐标。x = left + translationX
y坐标: View移动的最终Y坐标。y= top + translationY
(5)alpha: 改变View透明度。
大致的总结就为这些,在上篇的博客中,我们还使用到了Scroller类来实现循序渐进的滚动效果,原理我们也从源码的角度进行了简单了解和分析。在实际的开发工作中,我们还是需要实际的项目需求,来制定合理的解决方案,这样才可以让我们在实际的运用中做出精美的Android动画效果以及良好的用户体验。
OK,到目前为止,我们的Android动画系列就告一段落了。大家是不是已经对Android动画了如指掌,运用自如了。也希望大家能够通过该系列,对Android动画有一个更深层次的认识和使用。几天的时间,非常感谢大家的陪伴和鼓励!大家的支持才是我完成博客的前进动力!同时,在后期我也会继续分享一些Android技术,最后还是那句话:极客,分享,创新!Thanks for everyone!