一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Android UI開發(fā)專題(二) 之繪圖基礎(chǔ)

 windli筆記 2011-11-30
  今天我們繼續(xù)介紹Android平臺(tái)底層繪圖類的相關(guān)內(nèi)容,在Android UI開發(fā)專題(一) 之界面設(shè)計(jì)中我們介紹了有關(guān)Android平臺(tái)資源使用以及Bitmap相關(guān)類的操作,接下來將會(huì)以實(shí)例的方式給大家演示各種類的用處以及注意點(diǎn)。今天我 們繼續(xù)了解android.graphics包中比較重要的繪圖類。
  一、 android.graphics.Matrix

有關(guān)圖形的變換、縮放等相關(guān)操作常用的方法有:
void reset() // 重置一個(gè)matrix對(duì)象。
void set(Matrix src) //復(fù)制一個(gè)源矩陣,和本類的構(gòu)造方法 Matrix(Matrix src) 一樣
boolean isIdentity() //返回這個(gè)矩陣是否定義(已經(jīng)有意義)
void setRotate(float degrees) //指定一個(gè)角度以0,0為坐標(biāo)進(jìn)行旋轉(zhuǎn)
void setRotate(float degrees, float px, float py) //指定一個(gè)角度以px,py為坐標(biāo)進(jìn)行旋轉(zhuǎn)
void setScale(float sx, float sy) // 縮放
void setScale(float sx, float sy, float px, float py) //以坐標(biāo)px,py進(jìn)行縮放
void setTranslate(float dx, float dy) //平移
void setSkew (float kx, float ky, float px, float py) //以坐標(biāo)px,py進(jìn)行傾斜
void setSkew (float kx, float ky) //傾斜

  二、android.graphics.NinePatch

NinePatch是Android平臺(tái)特有的一種非矢量圖形自然拉伸處理方法,可以幫助常規(guī)的圖形在拉伸時(shí)不會(huì)縮放,實(shí)例中Android開發(fā)網(wǎng)提 示大家對(duì)于Toast的顯示就是該原理,同時(shí)SDK中提供了一個(gè)工具名為Draw 9-Patch,有關(guān)該工具的使用方法可以參考我們經(jīng)發(fā)布的 Draw 9-Patch使用方法介紹一文。由于該類提供了高質(zhì)量支持透明的縮放方式,所以圖形格式為PNG,文件命名方式為.9.png 的后綴比如android123.9.png。

 三、android.graphics.Paint

Paint類我們可以理解為畫筆、畫刷的屬性定義,本類常用的方法如下:
void reset() //重置
void setARGB(int a, int r, int g, int b) 或 void setColor(int color) 均為設(shè)置Paint對(duì)象的顏色
void setAntiAlias(boolean aa) //是否抗鋸齒,需要配合void setFlags (Paint.ANTI_ALIAS_FLAG) 來幫助消除鋸齒使其邊緣更平滑。
Shader setShader(Shader shader) //設(shè)置陰影,Shader類是一個(gè)矩陣對(duì)象,如果為NULL將清除陰影。
void setStyle(Paint.Style style) //設(shè)置樣式,一般為 FILL 填充,或者STROKE凹陷效果。
void setTextSize(float textSize) //設(shè)置字體大小
void setTextAlign(Paint.Align align) //文本對(duì)齊方式
Typeface setTypeface(Typeface typeface) //設(shè)置字體,通過Typeface可以加載Android內(nèi)部的字體,一般為宋體對(duì)于中文,部分ROM可以自己添加比如雅黑等等
void setUnderlineText(boolean underlineText) //是否設(shè)置下劃線,需要撇和void setFlags (Paint.UNDERLINE_TEXT_FLAG) 方法。

 四、android.graphics.Rect

Rect我們可以理解為矩形區(qū)域,類似的還有Point一個(gè)點(diǎn),Rect類除了表示一個(gè)矩形區(qū)域位置描述外,android123提示主要可以幫助我 們計(jì)算圖形之間是否碰撞(包含)關(guān)系,對(duì)于Android游戲開發(fā)比較有用,其主要的成員contains包含了三種重載方法,來判斷包含關(guān)系
boolean contains(int left, int top, int right, int bottom)
boolean contains(int x, int y)
boolean contains(Rect r)

 五、android.graphics.Region

Region在Android平臺(tái)中表示一個(gè)區(qū)域和Rect不同的是,它表示的是一個(gè)不規(guī)則的樣子,可以是橢圓、多邊形等等,而Rect僅僅是矩形。同樣Region的boolean contains(int x, int y) 成員可以判斷一個(gè)點(diǎn)是否在該區(qū)域內(nèi)

六、android.graphics.Typeface

Typeface類是幫助描述一個(gè)字體對(duì)象,在TextView中通過使用setTypeface方法來制定一個(gè)輸出文本的字體,其直接構(gòu)造調(diào)用成員create方法可以直接指定一個(gè)字體名稱和樣式,比如
static Typeface create(Typeface family, int style)
static Typeface create(String familyName, int style)
同時(shí)使用isBold和isItalic方法可以判斷出是否包含粗體或斜體的字型。
final boolean isBold()
final boolean isItalic()
該類的創(chuàng)建方法還有從apk的資源或從一個(gè)具體的文件路徑,其具體方法為
static Typeface createFromAsset(AssetManager mgr, String path)
static Typeface createFromFile(File path)
static Typeface createFromFile(String path)
有關(guān)Android平臺(tái)的圖形、圖像我們?cè)谇皟晒?jié)中已經(jīng)整理出來,下次我們將首先講述下NinePatch的實(shí)例應(yīng)用。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    果冻传媒精选麻豆白晶晶| 好吊妞视频免费在线观看| 国产精品视频一级香蕉| 天堂热东京热男人天堂| 青青操精品视频在线观看| 日韩人妻免费视频一专区| 国内胖女人做爰视频有没有| 91午夜少妇极品福利| 欧美国产日韩变态另类在线看| 亚洲精品一区二区三区免| 国产精品不卡一区二区三区四区 | 日本av在线不卡一区| 最好看的人妻中文字幕| 亚洲精品美女三级完整版视频| 欧美在线视频一区观看| 欧美日韩国产精品自在自线| 国产91色综合久久高清| 激情五月综五月综合网| 又大又长又粗又黄国产| 国产av一区二区三区久久不卡| 中文字幕高清不卡一区| 成人精品亚洲欧美日韩| 国产亚洲精品久久99| 日韩一本不卡在线观看| 99热中文字幕在线精品| 91精品视频全国免费| 日韩丝袜诱惑一区二区| 日韩成人动作片在线观看| 日韩夫妻午夜性生活视频| 视频在线免费观看你懂的| 亚洲一区二区精品免费| 91国内视频一区二区三区| 成人精品日韩专区在线观看| 成人午夜免费观看视频| 亚洲综合天堂一二三区| 亚洲国产另类久久精品| 中文字幕精品一区二区三| 日本中文字幕在线精品| 一区二区三区亚洲天堂| 亚洲国产精品av在线观看| 91在线国内在线中文字幕|