如何高效的學習Android動畫

前言

本篇文章就是在知乎回答的一個問題,這裏記錄下,以後看到我博客的朋友也可以看到。
曾經也同樓主一樣,對Android中的動畫不是很清楚,什麼幀,Tween,屬性等等,很多知識,也很瑣碎,後來覺得動畫這一塊是很多開發人員繞不過的吧,雖然每次通過google或者百度就可以基本滿足需求,但是總覺得太零散,太模糊。其實當時系統學習Android動畫還有一部分原因:將來成爲一個android組件開發工程師,如果想做出一些高性能,nice的動畫就必須對動畫的基礎知識有深入的理解,因此就打算系統的學習一下。經過一段時間的專業學習,android動畫的整體以及簡單的動畫實現都不是問題了,後來沒有再深入,是因爲自己的興趣方向變了。現在簡單分享一些自己的學習成果和心得吧。

個人整個學習過程中的產出的文章

傳統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

daimajia (代碼家)

很棒的紙飛機

race604/FlyRefresh 紙飛機,效果真是sweet,配上Blog,看看作者的思路和實現原理:FlyRefresh

關於我的幾篇動畫文章,如有不準確的地方,還望指正,希望對您和以後有興趣學習動畫的朋友有些幫助。

其它更多動畫相關學習資料或者不錯的開源庫後面補充吧,還是那句話,原理都一樣,腦洞不夠大,去Dribbble找找靈感吧。

分享一下最近star的幾個不錯的動畫庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章