Android動畫從最初的幀動畫、tween動畫捅膘,到后來的property動畫翘地,再到現(xiàn)在的Transitions動畫申尤、Vector動畫、Materail design衙耕,Android的動畫逐漸從洪荒年代走進了自己的豆蔻年華昧穿。如果把Android的動畫展開詳細的講,將是一個浩大的工程橙喘,本文只介紹基礎知識时鸵,并推薦相關的閱讀,感興趣的小伙伴可以繼續(xù)深入學習厅瞎。本文首先簡單介紹一下到目前為止用到的主要動畫類型饰潜,然后在介紹一些實現(xiàn)動畫的一些基本知識技巧。
基本動畫類型
1. 幀動畫
幀動畫類似于膠片電影磁奖,把一幀幀圖像連續(xù)播放即可形成一個連續(xù)的動畫囊拜,這也是最簡單的動畫。在使用上一般有兩種比搭,直接在xml中定義或者在代碼中code冠跷。Android幀動畫文中介紹了幀動畫的基本用法南誊。
2. Tween動畫
Tween動畫在應用中經(jīng)常用到,可以完成一些基本的動畫蜜托,如旋轉(zhuǎn)抄囚、移動、縮放橄务、透明度等幔托。Tween動畫中用到了插值器,插值器和估值器一文很好地介紹了基本知識蜂挪。Tween動畫使用中介紹了Tween的基本用法重挑。
3.property屬性動畫
property相對于幀動畫和Tween動畫來講基本就是bug級別的存在,鴻洋大神的兩篇文章詳細介紹了property動畫:Android 屬性動畫(Property Animation) 完全解析 (上)棠涮,Android 屬性動畫(Property Animation) 完全解析 (下)谬哀。文中介紹了ObjectAnimator和ValueAnimator的功能,此處結合插值器和估值器严肪,可以很好地理解文中的demo史煎。屬性動畫的使用文中也介紹了屬性動畫的相關。
4.Transitions動畫
從material design開始驳糯,Google推出了一些支持包用于支持其動畫實現(xiàn)篇梭。Transitions動畫文中進行了詳細介紹,并提供了Github兼容低版本安卓酝枢,實現(xiàn)了炫酷的效果恬偷。如果需要做一些小清新的app開發(fā),可以很開心地使用隧枫,效果不錯喉磁。
5. Vector動畫
Android Vector曲折的兼容之路中詳細介紹了Vector動畫需要用到的工具,需要填的坑官脓,以及基礎的用法,并提供了demo涝焙,Vector動畫用起來非常的簡單卑笨,而效果又非常好,個人認為是一個發(fā)展的方向仑撞,但是使用時要注意效率問題赤兴,合理使用。當然google之后應該也會在這一方面繼續(xù)加強隧哮。
技巧
這部分內(nèi)容比較散桶良,可能會持續(xù)更新……
1. 貝賽爾曲線
貝賽爾曲線在計算機圖形學中用的很廣泛,Android提供了二階沮翔、三階貝塞爾曲線陨帆,結合path可以非常容易的繪制漂亮的曲線。
在實現(xiàn)動畫的時有時需要讓View順著一定的Path移動,很多時候其實就是使用了貝塞爾曲線來實現(xiàn)疲牵。貝塞爾曲線在Android中的應用
2.Path和PathMeasure的使用
PathMeasure之迷徑追蹤文中介紹了PathMeasure的使用承二,非常好的一篇文章,但是個人認為如果使用Vector動畫來實現(xiàn)可能更簡單纲爸,但是使用Vector對動畫的控制性要弱的多亥鸠。如果一個動畫要使用在多個View上,使用PathMeasure之迷徑追蹤文中提到方法非常有效识啦。