分類:C#、Android、VS2015; 創建日期:2016-03-19 一、簡介 Android系統定義了一系列獨立的圖形處理類,其中,2D圖形處理類分別位於以下命名空間: Android.Graphices Android.Graphics.Drawable.Shapes Android.Vi...
分類: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)的基本用法" }, } });