Carson帶你學Android:這是一份全面&詳細的動畫知識學習攻略


前言

  • 動畫的使用 是 Android 開發中常用的知識
  • 可是動畫的種類繁多、使用復雜,每當需要 采用自定義動畫 實現 復雜的動畫效果時,很多開發者就顯得束手無策
  • 本文將獻上一份Android動畫的全面介紹攻略,包括動畫的種類、使用、原理等,能讓你更好地掌握動畫 從而實現更加復雜的動畫效果

Carson帶你學Android動畫系列文章:
Carson帶你學Android:一份詳細&全面的動畫知識學習攻略
Carson帶你學Android:常見的三種動畫類型
Carson帶你學Android:補間動畫學習教程
Carson帶你學Android:屬性動畫學習教程
Carson帶你學Android:逐幀動畫學習教程
Carson帶你學Android:自定義動畫神器-估值器(含實例教學)
Carson帶你學Android:自定義動畫神器-插值器(含實例教學)


目錄

示意圖

1. 動畫類型

Android動畫主要分為分為兩大類(三種):

  1. 視圖動畫:補間動畫、逐幀動畫
  2. 屬性動畫
  • 下面。我將詳細介紹這兩大類、三種動畫的使用 & 原理

2. 視圖動畫(View Animation)

  • 作用對象:視圖(View
  • 具體分類:補間動畫 & 逐幀動畫

下面會詳細介紹這兩種視圖動畫

2.1 補間動畫(Tween Animation)

簡介

示意圖

分類

根據不同的動畫效果,補間動畫分為4種動畫,具體如下圖:(注:不同類型的動畫對應于不同的子類

示意圖

具體效果分別如下:


平移
縮放
旋轉
透明度

應用場景

a. 標準的動畫效果

  • 補間動畫常用于視圖View的一些標準動畫效果:平移、旋轉、縮放 & 透明度;
  • 除了常規的動畫使用,補間動畫還有一些特殊的應用場景。

b. 特殊的應用場景

  • Activity 的切換效果(淡入淡出、左右滑動等)
  • Fragement 的切換效果(淡入淡出、左右滑動等)
  • 視圖組(ViewGroup)中子元素的出場效果(淡入淡出、左右滑動等)
淡入淡出
左右滑動
ListView出場動畫

具體使用

請看文章:Carson帶你學Android:手把手教你使用補間動畫


2.2 逐幀動畫

簡介

示意圖

應用場景

較為復雜的個性化動畫效果。

使用時一定要避免使用尺寸較大的圖片,否則會引起OOM

合成的動畫

將動畫拆分后的圖片幀


拆分的圖片

具體使用

請看文章Carson帶你學Android:關于逐幀動畫的使用都在這里了!


3. 屬性動畫

為什么要使用屬性動畫

  • 屬性動畫(Property Animation)是在 Android 3.0API 11)后才提供的一種全新動畫模式

  • 那么為什么要提供屬性動畫(Property Animation)?

  • 具體請看下圖

示意圖

屬性動畫簡介

Android 3.0API 11)后才提供的一種全新動畫模式

示意圖

應用場景

與屬性相關、更加復雜的動畫效果。

如改變對象的顏色屬性動畫效果

屬性動畫 - 顏色變化

具體使用

屬性動畫的使用類主要是:ValueAnimator 類 & ObjectAnimator 類,具體介紹如下

主要使用類

更加詳細使用,請看文章:Carson帶你學Android:屬性動畫學習攻略


4. 動畫 總結 & 對比

4.1 總結

示意圖

4.2 兩類動畫的區別

兩類動畫的根本區別在于:是否改變對象本身的屬性

  • 視圖動畫:無改變對象屬性
    因為視圖動畫在動畫過程中僅對圖像進行變換,從而達到了動畫效果

變換操作包括:平移、縮放、旋轉和透明

  • 屬性動畫:改變了對象屬性
    因屬性動畫在動畫過程中對動態改變了對象屬性,從而達到了動畫效果

  • 特別注意
    使用視圖動畫時:無論動畫結果在哪,該View的位置不變 & 響應區域都是在原地,不會根據結果而移動;
    而屬性動畫 則會通過改變屬性 從而使動畫移動


5. 插值器 & 估值器

5.1 簡介

示意圖

5.2 具體使用

請看文章:


6. 使用問題 & 建議

在使用動畫時,需注意許多問題;下面,我將全面介紹動畫過程中的使用問題 & 建議


示意圖

7. 總結


歡迎關注Carson_Ho的簡書

不定期分享關于安卓開發的干貨,追求短、平、快,但卻不缺深度


請點贊!因為你的鼓勵是我寫作的最大動力!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,251評論 25 708
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網絡請求組件 FMDB本地數據庫組件 SD...
    陽明AGI閱讀 16,009評論 3 119
  • 語文的學習重在積累,所謂厚積而薄發,才能顯示真正的實力與內涵。因此,在平時的生活中同學們要從主動自覺的去分析一個字...
    hyhyhyaaaa閱讀 383評論 0 0
  • 5月7日 晴最近到一個銀行出差,在銀行工作的人普遍有一個現象: 開門時,他主動開門,當你出去(進去)后,他再出去(...
    悟道閱讀 221評論 0 1