Android動畫了解

打開動畫的大門

在這裏插入圖片描述

上帝爲你關閉一扇窗,同時也會將門給你焊死,所以不要多想了!!!

按照國際慣例,先來一段自我介紹,自報家門;
大家好,我是一名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 動畫概述

RecyclerViewAndroid 5.0 提出的新控件,是用來 替代 傳統的 ListView.

RecyclerView 動畫包含了幾個方面,第一次進入界面加載的動畫,後續的 添加/刪除/更新/移動 的動畫.

RecyclerView 動畫 章節


其它動畫了解概述

其它動畫了解 章節


擴展知識瞭解

除了Android原生的動畫,我們也可以對一些 Android 相關的遊戲庫瞭解下,它們也可以進行!!

擴展知識瞭解 章節


繪製相關知識

繪製的知識點,有時候也會和動畫緊密結合,也是需要掌握的,兄弟!!!

Android動畫了解—繪圖知識章節


項目案例解析

由於感覺章節的例子不夠生動,特意再寫一個章節,舉一些例子對整個知識點重新複習下。

一些項目案例分析章節


參考資料與推薦

谷歌開發者-實現動效太難了?試試 Material Design
谷歌官方文檔原地址
文章中的DEMO地址
其它DEMO資料
Android動畫了解的DEMO源碼地址
Android開源庫集合(UI效果)

《Android自定義控件開發入門與實戰》,《Android開發藝術探索》


下個章節=> Android動畫了解—爲什麼需要動畫

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