不論在哪個平臺動畫都是交互的核心,呈現的效果都是趨同的,差別在不同平臺實現代碼不同。在5.0之前,android 的動畫只是做到了存在,動畫的效果很生硬,范圍很窄,一句話就是很 low,這點在5.0之后得到了巨大的改善,有句話時這么說的:android 的動畫從從洪荒時代終于迎來了自己的豆蔻年華。小伙伴們還等什么,趕緊把動畫玩好吧!
android 的動畫以時間軸開始梳理:
- API 1:
- 幀動畫
- DrawableAnimation
- tween 動畫(也叫view動畫)
- layoutAnimation 布局動畫
- API 14:
- 屬性動畫
- API 19:
- transition 變換動畫
- API 21:
- 基于 transition 的轉場動畫
- vector 矢量動畫
- ripple 波紋動畫
- Circular Reveal 揭露動畫
動畫按照功能還可以這樣份(學習 flutter 看到的)
- tween
補間動畫,介于兩者之間,定義了開始點和結束點,以及時間線和定義轉換時間和速度的曲線,該框架計算如何從開始點過渡到結束點 - 基于物理的動畫
模擬真實世界的運動與行為,例如,當你擲球時,它在何處落地,取決于拋球速度有多快,有多沉重,距離地面有多遠。類似地,將連接在彈簧上的球落下(并彈跳)與將連接到繩上的球放下的方式不同 - 顫振畫廊
從網格中選擇其中一個圖像并放大,您可以用甩手或拖動手勢平移圖像 - Hero animation(英雄動畫)
view 的形狀從圓形轉換為矩形,同時將其從一個屏幕飛到另一個屏幕的過程中進行動畫處理。Flutter中的Hero小部件實現了通常稱為共享元素轉換或共享元素動畫的動畫風格。
幀動畫我就不做了,引用別人的博客了 : android 逐幀動畫
Circular Reveal 揭露動畫目前學習中,簡單可以參閱:
下面是動畫學習路線圖:
下面是章節列表:
- android 動畫系列 (1) - tween 動畫(view動畫)
- android 動畫系列 (2) - interpolator 插值器
- android 動畫系列 (3) - layoutAnimation 視圖動畫
- android 動畫系列 (4) - PropertyAnimation 屬性動畫
- android 動畫系列 (5) - ripple 波紋動畫
- android 動畫系列 (6) - 轉場動畫
動畫屬于交互,是交互的核心,國外有個有名的 動畫的十二個原則,里面對于動畫交互的設計很有啟發性,英文是英文的,我還沒看
優秀資源學習列表
Android動畫,從洪荒時代到豆蔻年華
這是一個不錯的動畫部分學習網站集合極客學院 - Animation動畫詳解
極客學院的 android 學習 wiki 是很不錯的英勇青銅5 - 簡書:
Android 動畫基礎知識學習(上) | Android 動畫基礎知識學習(下)大公爵 - 簡書:
Android高級動畫(1) | Android高級動畫(2)
Android高級動畫(3) | Android高級動畫(4)i 冰點 - 簡書:
Android動畫 1:視圖動畫(Tween Animation)、屬性動畫
Android動畫 2:LayoutAnimation、ripple、Circular Reveal、StateListAnimator...
Android轉場動畫
關于動畫,Lottie