成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android游戲開發(fā)之五:Path路徑類Typeface字體類

移動開發(fā) Android 游戲開發(fā)
在上節(jié)Canvas與Paint的應(yīng)用實例中提到了Path路徑和Typeface字體兩個類,本節(jié)來詳解Path路徑類和Typeface字體類的使用。

Path路徑類

Path 路徑對于Android 2D繪圖或者說Android游戲開發(fā)來說是很重要的。理解Path路徑可以想想在Photoshop中使用鋼筆工具繪制路徑的過程。Path路徑類在位 于android.graphics.Path中,Path的構(gòu)造方法比較簡單,如下:

Path cwj=new Path();  //構(gòu)造方法

下面我們畫一個封閉的原型路徑,我們使用Path類的addCircle方法。

cwj.addCircle(10,10,50,Direction.CW); //參數(shù)一為x軸水平位置,參數(shù)二為y軸垂直位置,第三個參數(shù)為圓形的半徑,***是繪制的方向,CW為順時針方向,而CCW是逆時針方向。

結(jié)合上次提到的Canvas類中的繪制方法drawPath和drawTextOnPath,我們繼續(xù)可以在onDraw中加入。

canvas.drawPath(cwj,paintPath); //提示大家這里paintPath為路徑的畫刷顏色,可以見下文完整的源代碼。

canvas.drawTextOnPath("Android123 - CWJ",cwj,0,15,paintText); //將文字繪制到路徑中去,有關(guān)drawTextOnPath的參數(shù)如下:

方法原型public void drawTextOnPath (String text, Path path, float hOffset, float vOffset, Paint paint) 

參數(shù)說明:

text:為需要在路徑上繪制的文字內(nèi)容。

path:將文字繪制到哪個路徑。 

hOffset:距離路徑開始的距離。

vOffset:離路徑的上下高度,這里Android開發(fā)網(wǎng)提示大家,該參數(shù)類型為float浮點型,除了精度為8位小數(shù)外,可以為正或負,當(dāng)為正時文字在路徑的圈里面,為負時在路徑的圈外面。

paint:***仍然是一個Paint對象用于制定Text本文的顏色、字體、大小等屬性。

下面是我們的onDraw方法中如何繪制路徑的演示代碼為:

  1. @Override   
  2.  protected void onDraw(Canvas canvas) {    
  3.   Paint paintPath=new Paint();    
  4.   Paint paintText=new Paint();    
  5.   paintPath.setColor(Color.Red); //路徑的畫刷為紅色    
  6.   paintText.setColor(Color.Blue); //路徑上的文字為藍色    
  7.   Path pathCWJ=new Path();    
  8.   pathCWJ.addCircle(10,10,50,Direction.CW); // 半徑為50px,繪制的方向CW為順時針    
  9.   canvas.drawPath(pathCWJ,paintPath);    
  10.  canvas.drawTextOnPath("Android123 - CWJ",pathCWJ,0,15,paintText); //在路徑上繪制文字    
  11. }   

有關(guān)路徑類常用的方法如下:

void  addArc(RectF oval, float startAngle, float sweepAngle)  //為路徑添加一個多邊形

void  addCircle(float x, float y, float radius, Path.Direction dir)  //給path添加圓圈

void  addOval(RectF oval, Path.Direction dir)  //添加橢圓形

void  addRect(RectF rect, Path.Direction dir)  //添加一個區(qū)域

void  addRoundRect(RectF rect, float[] radii, Path.Direction dir)  //添加一個圓角區(qū)域

boolean  isEmpty()  //判斷路徑是否為空

void  transform(Matrix matrix)  //應(yīng)用矩陣變換

void  transform(Matrix matrix, Path dst)  //應(yīng)用矩陣變換并將結(jié)果放到新的路徑中,即第二個參數(shù)。

有關(guān)路徑的高級效果大家可以使用PathEffect類,有關(guān)路徑的更多實例將在今后的游戲開發(fā)實戰(zhàn)中講解道。

Typeface字體類

平時我們在TextView中需要設(shè)置顯示的字體可以通過TextView中的setTypeface方法來指定一個Typeface對象,因為Android的字體類比較簡單,我們列出所有成員方法:

static Typeface  create(Typeface family, int style)  //靜態(tài)方法,參數(shù)一為字體類型這里是Typeface的靜態(tài)定義,如宋體,參數(shù)二風(fēng)格,如粗體,斜體

static Typeface  create(String familyName, int style)  //靜態(tài)方法,參數(shù)一為字體名的字符串,參數(shù)二為風(fēng)格同上,這里我們推薦使用上面的方法。

static Typeface  createFromAsset(AssetManager mgr, String path)  //靜態(tài)方法,參數(shù)一為AssetManager對象,主要用于從APK的assets文件夾中取出字體,參數(shù)二為相對于Android工程下的 assets文件夾中的外掛字體文件的路徑。

static Typeface  createFromFile(File path)  //靜態(tài)方法,從文件系統(tǒng)構(gòu)造一個字體,這里參數(shù)可以是sdcard中的某個字體文件

 

static Typeface  createFromFile(String path)  //靜態(tài)方法,從指定路徑中構(gòu)造字體

 

static Typeface  defaultFromStyle(int style) //靜態(tài)方法,返回默認的字體風(fēng)格

int  getStyle()  //獲取當(dāng)前字體風(fēng)格

final boolean  isBold()  //判斷當(dāng)前是否為粗體

final boolean  isItalic()  //判斷當(dāng)前風(fēng)格是否為斜體

本類的常量靜態(tài)定義,首先為字體類型名稱:

Typeface DEFAULT 

Typeface DEFAULT_BOLD

Typeface MONOSPACE

Typeface SANS_SERIF

Typeface SERIF

字體風(fēng)格名稱:

int BOLD  

int BOLD_ITALIC  

int ITALIC

int NORMAL

我們將在下節(jié)具體講解onDraw以及什么時候會觸發(fā)繪制方法,來實現(xiàn)我們自定義或子類化控件。

責(zé)任編輯:閆佳明 來源: jizhuomi
相關(guān)推薦

2013-05-21 09:56:15

2013-05-20 17:51:47

Android游戲開發(fā)SurfaceView

2013-05-21 14:10:11

Android游戲開發(fā)SoundPool類同時多音效

2013-05-20 17:04:09

2013-05-20 17:07:26

2017-09-22 14:12:33

Android字體 Typeface

2012-04-16 15:30:13

Path

2023-03-30 08:01:15

2018-01-17 21:56:09

網(wǎng)線電纜以太網(wǎng)

2020-07-08 07:56:08

Java工具類包裝類

2013-05-21 11:26:49

Android游戲開發(fā)Sensor感應(yīng)

2010-03-25 15:51:42

雙絞線綜合布線

2010-03-05 15:11:49

Android開發(fā)類

2011-06-16 11:13:13

QtQWidget

2013-05-20 17:48:20

2013-05-21 10:42:48

Android游戲開發(fā)Bitmap位圖旋轉(zhuǎn)

2013-05-21 13:55:51

Android游戲開發(fā)圖像漸變特效

2013-05-21 11:24:07

Android游戲開發(fā)Sensor重力感應(yīng)

2023-09-15 14:29:57

Android開發(fā)語言

2018-05-10 16:02:48

Android程序贈工具
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲视频在线观看 | 九九亚洲精品 | 99国内精品久久久久久久 | 日韩欧美黄色 | 一本一道久久a久久精品蜜桃 | 国产精品久久免费观看 | 成人av看片 | 日韩综合网 | 久久久久中文字幕 | 国产亚洲精品久久久久动 | 日韩久久综合 | 午夜影院黄 | 成人精品在线观看 | 激情久久网 | 久久最新 | 一级a爱片性色毛片免费 | 欧美日韩不卡合集视频 | 亚洲一区欧美一区 | 国产免费视频 | 国产高清区 | 超碰97人人人人人蜜桃 | 中文字幕久久久 | 欧美激情国产日韩精品一区18 | 365夜爽爽欧美性午夜免费视频 | 国产精品一区在线观看你懂的 | 亚洲一二三区精品 | 亚洲成人精品国产 | 久久精品国产一区二区电影 | 亚洲欧洲日韩 | 亚洲高清av | 日韩一二区在线观看 | 欧美精品二区三区 | 久久久蜜桃一区二区人 | 中文字幕一区二区三区四区 | 日本一区二区不卡 | 亚洲午夜久久久 | 国产精品美女在线观看 | 国产欧美日韩在线 | 亚洲成人精品在线观看 | 日韩手机在线视频 | 日韩综合网 |