Android UI 繪圖基礎

鴨脖發表於2012-07-14

Android UI 繪圖基礎

1、 android.view.View

使用繪圖工具,核心方法是在View類中的onDraw(引數)中進行,記得過載。繪圖過程需要用到很多android.graphics包下的類,記得import就ok

2、  android.graphics.Canvas

該類作為onDraw函式的引數,可以說起著控制onDraw函式的作用,他其實相當於MFC中的dc,相當於一個畫家,而且這個畫傢什麼都會,他會drawLine,會drawArc,會drawRect,會drawText,會drawBitmap等等。

兩個建構函式:空引數和bitmap引數

3、android.graphics.Paint

相當於MFC中的Paint物件,就是畫筆物件,能夠對畫筆的性質進行設定,以供Canvas使用。

 (1)void reset();

       重置

   (2)void setARGB(int a,intr,int g,int b) 以及setColor(int color)

      都是設定畫筆顏色

   (3)voidsetAntiAlias(boolean aa)

       是否扛鋸齒,需要配合 voidsetFlags(Paint.ANTI_ALIA_FLAG)來實現消除鋸齒

   (4)Shader setShader(Shadershader)

      設定陰影

   (5)voidsetStyle(Paint.Style style)

      設定樣式,一般為FILL填充或者STROKE凹陷效果

   (6)void setTextSize(floattextSize)

      設定字型大小

   (7)voidsetTextAlign(Paint.Align align)

      設定文字對齊方式

   (8)TypeFacesetTypeface(Typeface typeface)

      設定字型,通過Typeface可以載入Android內部的字型,也可以新增外部的字型。

   (9)voidsetUnderLineText(boolean underlineText)

      設定下劃線,需要配合void setFlags(Paint.UNDERLINE_TEXT_FLAG)方法

3、  android.graphics.Matrix

Matrix能夠實現圖形的變化操作,如縮放和旋轉的處理。常用方法如下:

(1)voidreset() 

        重置一個Matrix物件

    (2) voidsetRotate(float degress)

         指定一個角度一(0,0)為座標進行旋轉

    (3)voidsetRotate(float degress,float px ,float py)

         指定一個角度以(px,py)為座標進行旋轉

      類似的還有:

            setScale() 縮放

            postScale()縮放

            setTranslate() 平移

            setSkew() 傾斜

4、  android.graphics.Bitmap類

下面先介紹一種從drawable資料夾中載入點陣圖的方法:

Bitmap bitmap = BitmapFactory.decodeResource(getResource(),R.drawable.f);

這樣便可以先從資原始檔夾中取得該點陣圖,再對該點陣圖進行操作

相關文章