当时系统学习Android动画还有一部分原因:将来成为一个android组件开发工程师,如果想做出一些高性能,nice的动画就必须对动画的基础知识有深入的理解,因此就打算系统的学习一下。经过一段时间的专业学习,android动画的整体以及简单的动画实现都不是问题了,后来没有再深入,是因为自己的兴趣方向变了。现在简单分享一些自己的学习成果和心得吧。

自己整个学习过程中的产出的文章
动画系列 - 传统View动画与Property动画基础及比较 
动画系列 - PropertyAnim 详解
动画系列 - PropertyAnim 实际应用
动画系列 - ViewPager动画 
Android 动画基础   (由于  @Trinea  发起的 codeKK 项目 下的开源项目原理分析项目 android-cn/android-open-project-analysis · GitHub  二期中,很多分析项目涉及到了动画,所以该篇主要是对PropertyAnim详解和基础篇中的一些知识进行整理,作为二期的动画公共知识, codeKK  绝对是超级棒的项目,大家可以多关注)

从 传统View动画与Property动画基础及比较  以及 Android 动画基础  这两篇文章,你可以对android动画总体有些了解, PropertyAnim 详解 这一篇则是专门介绍了3.0出现的属性动画,其中也涉及到了 JakeWharton 大神为3.0之前实现的兼容库 NineOldAndroids。

通过ViewPager来实现动画效果的方式越来越多,一些视差效果也确实很赞,比如雅虎天气的视差效果,知乎导航界面中元素的视差,关于它们的实现原理,在  ViewPager动画  这篇中有详细的分析,其中也提到了GitHub上一些和ViewPager动画类似的实现,也分析了它们之间的区别,具体可以参考文章。

PropertyAnim 实际应用 主要介绍了一些简单API的使用,亮点是其中介绍了很多GitHub 上的动画项目,其中实现多数使用了 NineOldAndroids 兼容库,可以作为不错的学习资料。

上面几篇文章中都有非常详细的介绍,就不多说了,因为文章中对于一些概念,使用,原理介绍的确实太详细了,现在想起来,当时钻的确实有点深了,比如 PropertyAnim 详解 这篇文章,对属性动画中的 ValueAnimator , Evaluators , Interpolators 的介绍以及 TimeInterpolator和TypeEvaluator的比较 等等,具体的可以参考文章。

这几篇文章看下来,你应该对android动画有一些更系统更深入的认识了。基本的动画实现应该没啥难度了。每篇文章的信息量很是很大的,因为在学习过程中主要是通过大量的GitHub动画项目,也参考了不少资料,在文章结尾处有提及。

如果你还想进阶,这里再分享一些不错的项目,这些项目都是在android动画基础上建立起来的,所以看他们的源码,完全没有难度:

首先推荐一个GitHub组织: Yalantis ,该组织开源了很多特效的项目。很新颖,很有创意,绝对眼前一亮,可以作为不错的学习资料:

Yalantis/GuillotineMenu-Android · GitHub  锉刀效果,不过我看跟拍电影时的打板有点像
Yalantis/Phoenix · GitHub  很有创意的下拉动画,“升起的太阳”
Yalantis/Taurus · GitHub  也是下拉动画,“滑翔机”
Yalantis/Context-Menu.Android · GitHub  菜单动画,不过个人觉得貌似有点太炫技了
https://github.com/Yalantis/Side-Menu.Android  同样是菜单动画,不过加上了Reveal的转场效果
Yalantis/FlipViewPager.Draco · GitHub  折叠动画
Yalantis/Euclid · GitHub  转场动画,感觉可以归为MaterialDesign设计风格

------------ Yalantis  end--------------

daimajia (代码家) · GitHub

daimajia/AndroidViewAnimations · GitHub  动画集合,
daimajia/AndroidImageSlider · GitHub  ViewPager动画集合
daimajia/AnimationEasingFunctions · GitHub  定义了很多Evaluator,你也可以寻找自己的函数来实现更赞的动画

------------daimajia end--------------

race604/FlyRefresh · GitHub  纸飞机,效果真是sweet,配上Blog,看看作者的思路和实现原理: FlyRefresh

关于我的几篇动画文章,如有不准确的地方,还望指正,希望对您和以后有兴趣学习动画的朋友有些帮助。

其它更多动画相关学习资料或者不错的开源库后面补充吧,还是那句话,原理都一样,脑洞不够大,去 Dribbble 找找灵感吧。

----------------------------------------------------------------------
分享一下最近star的几个不错的动画库
TakeoffAndroid/AppIntroAnimation · GitHub
recruit-lifestyle/WaveSwipeRefreshLayout · GitHub
recruit-lifestyle/BeerSwipeRefresh · GitHub
dodola/MetaballLoading · GitHub

Q42/AndroidScrollingImageView · GitHub

转自:http://www.zhihu.com/question/27718787

高效学习Android动画相关推荐

  1. 如何高效的学习Android动画

    前言 本篇文章就是在知乎回答的一个问题,这里记录下,以后看到我博客的朋友也可以看到. 曾经也同楼主一样,对Android中的动画不是很清楚,什么帧,Tween,属性等等,很多知识,也很琐碎,后来觉得动 ...

  2. [0 to 0.5]从零开始学习Android动画知识(下)

    [0 to 0.5]从零开始学习Android动画知识(下) 矢量动画(Scalable Vector Graphics) 不同于前面的为控件做动画效果的方法,矢量动画则是为图形做出动画效果 矢量图 ...

  3. [0 to 0.5]从零开始学习Android动画知识(中)

    [0 to 0.5]从零开始学习Android动画知识(中) 属性动画(Property Animation) 属性动画(Property Animation)是在 Android 3.0(API 1 ...

  4. 【Android -- 动画】如何学习 Android 动画?

    文章目录 Android Training & Guides 学习路线图 官方博客 GitHub 高星(感兴趣的)项目 Android Training & Guides Androi ...

  5. 动画学习android,Android动画学习

    个人觉得学习Android动画最好的方式就是看开发者文档,所以我就当做翻译,将文章翻译一次吧 Animation Resources 动画资源可以用来定义两种类型的动画 创建一种将图片上进行一系列变化 ...

  6. Android动画学习笔记

    Android实战经验之图像处理及特效处理的集锦 https://www.oschina.net/question/231733_44154 Android动画学习笔记 3.0以前,android支持 ...

  7. Android动画学习记录二(属性动画、估值器和插值器)

    Android动画学习记录二(属性动画.估值期和插值器) Android动画学习记录二(属性动画.估值期和插值器) Android动画学习记录二(属性动画.估值期和插值器) 一.补间动画缺陷 二.属性 ...

  8. Android开发如何高效学习系统底层原理

    本文首发于微信公众号「刘望舒」 大家好,我是刘望舒,I'm back!最近分享了一些视频,都属于望舒杂谈,望舒杂谈会分享一些经验,什么都会聊.除了望舒杂谈还有另一个视频分支叫做BATcoder,什么是 ...

  9. Android动画学习

    1. 补间动画 补间动画具体有四种如下图所示: 有两种实现方式:XML和java //xml实现方式://1.定义一个xml<?xml version="1.0" encod ...

最新文章

  1. 开源!开源!我写的Anto.exe C#代码自动生成工具.欢迎下载。。
  2. Petrozavodsk Summer-2016. Ural FU Dandelion Contest
  3. 获取上层调用函数地址的代码
  4. linux 统计根目录下的文件日期和出现的频率
  5. Advanced Linq - Dynamic Linq query library: Add support for 'Contains' extension
  6. [Medical Image Processing] 2. GrayScale Histogram and Threshold-【Isodata Algorithm】
  7. oracle pl sql 抛出例外
  8. 【Linux】/dev/null 21 详解
  9. oracle中取反_oracle正则表达式regexp_like的用法详解
  10. gitlab-ee使用mysql_在 GitLab 我们是如何扩展数据库的
  11. C++新特性探究(四):Raw String Literals
  12. activiti idea 请假流程_IDEA创建Activiti工作流开发
  13. 面试题62. 圆圈中最后剩下的数字
  14. C语言中 二维数组在内存中的存放顺序是,在计算机中二维数组的元素是按行顺序存放的,即在内存中,先顺序存放二维数组第一行的元素,再顺序存放二维数组第二行的元素,以此类推 答案:对...
  15. Tcl 语言——过程与字符串匹配篇
  16. <EDEM MBD案例02>EDEM-Adams
  17. mt6573 环境配置
  18. confluence 下admin用户密码恢复方法
  19. 锂离子电容器_离子电容器:从Mac的App到iOS IPA
  20. Action大全和用法

热门文章

  1. https和http
  2. 用css和js的的方法 打印背景图片
  3. 小白开发微信小程序21--网络API(asp.net core版)
  4. 【LeetCode-421】Maximum XOR of Two Numbers in an Array
  5. 密度计算机公式,密度怎么计算
  6. BZOJ 4197 NOI 2015 寿司晚宴
  7. Android利用canvas画各种图形(点、直线、弧、圆、扁圆、文字、矩形、多边形、曲线、圆角矩形)
  8. linux根据文件大小,linux 根据文件大小查找文件
  9. 苹果怎么用歌曲当闹钟_苹果手机笔记怎么做?用哪款笔记软件好
  10. Python编程基础—列表