【Android】第21章 2D圖形和動畫,android第21章
分類:C#、Android、VS2015;
建立日期:2016-03-19 一、簡介
Android系統定義了一系列獨立的圖形處理類,其中,2D圖形處理類分別位於以下命名空間:
Android.Graphices
Android.Graphics.Drawable.Shapes
Android.View.Animation
3D圖形的處理類位於Android.Opengl命名空間下。
總體來說,Android的Graphics技術大致可以分為兩大類:圖形和動畫。
圖形又被進一步分為2D圖形和3D圖形。
2D圖形處理基本可以分為兩類:一類是靜態圖形處理,用於處理一些不經常變化的圖片,比標、Logo、動畫等,一般將這些圖形作為資源檔添加到項目中(Resources/Drawable/、Resources/anim/);另一類是動態圖形處理,即將經常變化的圖片(大小、位置、形狀)不停地定期複製繪製,如遊戲中的各種情境、任務和道具等。
3D圖形則通過大量的可用內建架構(如針對移動版本的OpenGL ES)和其他第三方架構(如MonoGame,相容XNA的跨平台工具包)來實現。
這一節我們主要學習Android內建的2D繪圖和動畫基本技術。
1、2D Graphices基本概念
Android 提供了建立2D圖形的兩個不同的API。
一是進階別的用法,即通過在xml檔案中聲明畫板資源來使用它。即在XML檔案中利用畫板資源嵌入繪圖指令,或者以編程方式建立自訂圖形。
二是低層級的API,一般在Canvas對象中使用它,最常用的是在位元影像上繪圖並對其顯示的內容進行細粒度的控制。
2、動畫基本概念
除了2D圖形技術以外,Android 還提供了幾種建立動畫的方法:
- Drawable Animations – 畫板動畫。提供了按幀播放的簡單動畫API,指定以後,Android就會按順序載入和顯示可繪製資源的序列,播放效果很像在播放卡通(cartoon)漫畫。
- View Animations - 視圖動畫。Android原創的動漫API,在安卓系統的所有版本中都可用。此API僅限於在View對象中執行簡單的轉換,這些轉換檔一般在/Resources/anim檔案夾中定義。
- Property Animations – 屬性動畫。這是從Android 3.0開始引入的API,可對任何對象的屬性進行動畫處理(包括View)。這種靈活性允許動畫封裝在不同的類中,使代碼共用更加方便。
注意:View動畫僅適用於早期的Android 3.0(API 11)版本提供的API。除此之外,其他情況都應該用屬性動畫提供的API來實現。換言之,雖然這三種動畫都可用,但只要有可能,都應該優先考慮用屬性動畫來實現。 二、本章樣本主介面
1、運行
2、ch.cs檔案中相關的代碼
chItems.Add(new Chapter(){ ChapterName = "第21章 2D圖形和動畫", ChapterItems = new ChItem[] { new ChItem { type=typeof(ch2101MainActivity), Title="例21-1 畫板基本文法", Desc = "示範畫板資源(Drawable Resource)的基本用法" }, new ChItem { type=typeof(ch2102MainActivity), Title="例21-2 畫布基本文法", Desc = "示範畫布(Canvas)的基本用法" }, new ChItem { type=typeof(ch2103MainActivity), Title="例21-3 動畫基本文法", Desc = "示範動畫(animation)的基本用法" }, }});