打開動畫的大門
上帝爲你關閉一扇窗,同時也會將門給你焊死,所以不要多想了!!!
按照國際慣例,先來一段自我介紹,自報家門;
大家好,我是一名Android程序員,我叫冰雪情緣,本人 國產原裝,零件完好;
今天很高興給大家講解Android動畫了解;
本文會 以 栗子 + 知識點 + 項目經驗總結 的方式 進行講解,由於本人水平有限,不足的地方還請諒解。
這裏感謝公司提供的平臺,也感謝 動效,設計師,產品不斷提出的要求,才能讓我們在技術上不斷的探索以及學習,實踐中成長,也感謝大家百忙之中抽空來這裏聽我講解,謝謝大家;
那我們進入正題吧!!
內容 包括 視圖和屬性動畫,過渡動畫,RecyclerView動畫,其它相關動畫了解,下面是文章的整體大綱.
爲什麼需要動畫
如何將物理世界與虛擬界面產生交集.
如何將三維的世界 在設備的二維人機界面中體現出來
如何將情感,色彩,明度,融入到用戶 使用產品的過程中去.
加強體驗舒適度,減弱不可避免的不適感,不易被察覺的動效
主要的目的還是 提升 產品體驗!!!!
視圖動畫與屬性動畫概述
這是我們整個篇幅比較重點的兩個章節(視圖動畫,屬性動畫)。
是Android現在很多常見動畫的基礎,後續章節(過渡動畫,RecyclerView動畫,其它動畫了解)影子隨處可見;
在 Android 中,動畫分爲兩類(點擊進入章節):視圖動畫章節(View Animation) 與 屬性動畫章節(Property Animation);
視圖動畫與屬性動畫的區別
視圖動畫(View Animation) | 屬性動畫(Property Animation) | |
---|---|---|
引入時間不同 | 在 Api level 1 引入 | Api level 11(Android 3.0纔開始) 時引入 |
包名不同 | android.view.animation | android.animation |
類的命名不同 | xxxAnimation(比如 AlphaAnimation) | xxxAnimator(比如ValueAnimator,ObjectAnimator) |
既生 視圖動畫 何生 屬性動畫 呢???
視圖動畫 使用起來很方便,唯一不足有幾個點:
1) 不具備交互性:當某個元素髮生視圖動畫後,其響應事件(比如點擊事件)的位置依然在動畫前的地方
2) 非視圖類無法設置動畫(比如顏色,還有一些類的自定義繪製的屬性值等),你需要自己實現代碼來完成這個功能,比較麻煩!!!
3) 補間動畫只能實現簡單的四種的動畫(alpha、scale、rotate、translate),要想實現比較複雜的動畫就難以滿足需求;
… … 暫時想到這麼多,後續又了再補齊,罄竹難書
屬性動畫 改變的是屬性
, 也可以爲 任何對象設置動畫
,包括視圖類
和非視圖類
,並且修改視圖本身的屬性;
總之,屬性動畫就是爲了彌補視圖動畫一些不足而設計的,實現補間動畫無法實現的功能。
過渡動畫概述
過渡動畫是 Android 4.4
引入的新的動畫框架,它本質上仍是 屬性動畫(做了一層封裝)
,
主要是爲了 方便開發者實現 Activity/Fragment
或者 佈局
的 過渡動畫效果
.
什麼是過渡動畫?這裏可以理解爲,兩個UI界面之間的 狀態轉換時的動畫.
RecyclerView 動畫概述
RecyclerView
是 Android 5.0
提出的新控件,是用來 替代 傳統的 ListView
.
RecyclerView
動畫包含了幾個方面,第一次進入界面加載的動畫,後續的 添加/刪除/更新/移動
的動畫.
其它動畫了解概述
擴展知識瞭解
除了Android原生的動畫,我們也可以對一些 Android 相關的遊戲庫瞭解下,它們也可以進行!!
繪製相關知識
繪製的知識點,有時候也會和動畫緊密結合,也是需要掌握的,兄弟!!!
項目案例解析
由於感覺章節的例子不夠生動,特意再寫一個章節,舉一些例子對整個知識點重新複習下。
參考資料與推薦
谷歌開發者-實現動效太難了?試試 Material Design
谷歌官方文檔原地址
文章中的DEMO地址
其它DEMO資料
Android動畫了解的DEMO源碼地址
Android開源庫集合(UI效果)
《Android自定義控件開發入門與實戰》,《Android開發藝術探索》
下個章節=> Android動畫了解—爲什麼需要動畫