Android-动画系列 01

开源

动画开源项目
  1. 圆形进度球:水波纹进度条自定义View贝塞尔曲线
  • 1.1 https://juejin.im/entry/5c270cc7f265da615b718a5e
  • 1.2 http://www.jcodecraeer.com/a/opensource/2015/0902/3402.html
  • 1.3 https://github.com/tangqi92/WaveLoadingView (star 1500)
  • 1.4 https://github.com/gelitenight/WaveView (star 1400)
  • 1.5 https://github.com/jingchenUSTC/WaveView (贝塞尔实现进度条逻辑)
  • 1.6 https://github.com/Geekince/WaterWaveView
  • 1.7 SmileyLoadingView
  1. Ripple Effect(触摸反馈动画,水波纹点击效果):Android 5.0
  • 2.1 https://www.tuicool.com/articles/NFr6jie
  • 2.2 https://blog.csdn.net/gu18168/article/details/56290221
  1. CircularReveal圆形扩散动画 水波纹RecycleView ItemMD
  • 3.1 http://blog.csdn.net/u010399316/article/details/50937050 RecyleView Item 展示动画
  1. 碎粒子动画
  • 4.1 https://www.jianshu.com/p/1af53020719f
  1. 页面切换动画 共享元素转场动画
  • 5.1 http://www.jianshu.com/p/4c83078d23ef
  • 5.2 https://blog.csdn.net/u012702547/article/details/51289789
  • 5.3 https://download.csdn.net/download/w630886916/10036488
  • 5.4 https://blog.csdn.net/jiangxuqaz/article/details/47264473 Activity滑动切换
  1. 第三方库
  • 6.1 Airbnb开源的一个在安卓上使用After Effects 动画的库 lottie-android
  • 6.2 https://juejin.im/post/5c4088a8f265da616b10f59a
  1. 加载效果 加载
  • 7.1 https://github.com/Kyson/WhorlView
  1. 弹出动画
  • 8.1 https://github.com/futuresimple/android-floating-action-button
  • 8.2 https://github.com/onivas/MenuAnimation
  • 8.3 https://github.com/Karumi/ExpandableSelector
  • 8.4 https://github.com/wangjiegulu/RapidFloatingActionButton
  • 8.5 https://github.com/yavski/fab-speed-dial
  1. 其他
  • 9.1 https://blog.csdn.net/shedoor/article/details/81251849

动画种类
  1. 帧动画 (Frame Animation)
  • 1.1 一般开机动画会用到
  • 1.2 复杂动画
  • 1.3 使用帧动画时需要注意,不要使用过多特别大的图,容易导致内存不足
  1. 补间动画 即View动画:主要有平移、旋转、缩放、渐变4种方式或组合一起的动画。
    例如:PopWindow动画、Activity进入,退出、ViewGroup通过layoutAnimation设置子控件动画、RecycleView中Item展示,消失动画、约束布局实现的关键帧动画(ConstraintSet 动画)等
  • 2.1 一般直接作用View上,实现基本动画:平移、旋转、缩放、透明度、或前几者的交集
  • 2.2 xml文件实现的补间动画,复用率极高。在Activity切换,窗口弹出时等情景中有着很好的效果
  1. 属性动画
  • 3.1 https://www.cnblogs.com/dasusu/p/8595422.html
  • 3.2 属性动画跟View动画较相似,先说下各自特点以及区别
  • View动画能力较为单一,目前只支持帧动画、缩放、位移、旋转、透明度以及这些动画组合动画
  • View动画改变的是View的绘制效果,View位置和相关属性并不会改变,这也就造成了点击事件触发区域位置为动画前的位置的原因
  • 属性动画作用对象不局限在View上,而是任何提供了Getter和Setter 方法的对象属性上
  • 属性动画没有直接改变View状态的能力,而是通过动态改变View相关属性来改变 View显示效果
  • 属性动画使用更方便,可以用更简洁的代码实现相关动画
  • 属性动画是Android3.0以上系统提供,在3.0以下需导入nineoldandroids 三方库解决
  1. Vector动画 矢量图动画
  • 4.1 http://www.jcodecraeer.com/a/opensource/2017/0627/8116.html
  • 4.2 https://github.com/tarek360/RichPath
  • 4.3 https://www.jianshu.com/p/4707a4738a51

参考

  1. https://www.jianshu.com/p/27ac2a314fae (属性动画讲解,guolin_blog (郭霖)独家发布)
  2. http://a.codekk.com/detail/Android/lightSky/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%20Android%20%E5%8A%A8%E7%94%BB%E5%9F%BA%E7%A1%80
  3. http://a.codekk.com/detail/Android/lightSky/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7%82%B9%E4%B9%8B%20View%20%E7%BB%98%E5%88%B6%E6%B5%81%E7%A8%8B
参考
  1. Android 动画:手把手带你深入了解神秘的插值器(Interpolator)
  2. 插值器和估值器

你可能感兴趣的:(Android,动画)