`
kevin2562
  • 浏览: 116420 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android游戏开发之旅五 Path和Typeface

阅读更多
今天我们继续处理上次 Android游戏开发之旅四 Canvas和Paint实例 中提到的Path路径和Typeface字体两个类。对于Android游戏开发或者说2D绘图中来讲Path路径可以用强大这个词来形容。在 Photoshop中我们可能还记得使用钢笔工具绘制路径的方法。Path路径类在位于android.graphics.Path中,Path的构造方法比较简单,如下:

  Path cwj=new Path(); //构造方法

  下面我们画一个封闭的原型路径,我们使用Path类的addCircle方法

  cwj.addCircle(10,10,50,Direction.CW); //参数一为x轴水平位置,参数二为y轴垂直位置,第三个参数为圆形的半径,最后是绘制的方向,CW为顺时针方向,而CCW是逆时针方向。

  结合Android上次提到的Canvas类中的绘制方法drawPath和drawTextOnPath,我们继续可以在onDraw中加入。

  canvas.drawPath(cwj,paintPath); //Android123提示大家这里paintPath为路径的画刷颜色,可以见下文完整的源代码。

  canvas.drawTextOnPath("Android123 - CWJ",cwj,0,15,paintText); //将文字绘制到路径中去,有关drawTextOnPath的参数如下:

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

  参数列表

  text 为需要在路径上绘制的文字内容。

  path 将文字绘制到哪个路径。

  hOffset 距离路径开始的距离

  vOffset 离路径的上下高度,这里Android开发网提示大家,该参数类型为float浮点型,除了精度为8位小数外,可以为正或负,当为正时文字在路径的圈里面,为负时在路径的圈外面。

  paint 最后仍然是一个Paint对象用于制定Text本文的颜色、字体、大小等属性。


下面是我们的onDraw方法中如何绘制路径的演示代码为:
@Override
   protected void onDraw(Canvas canvas) {

    Paint paintPath=new Paint();

    Paint paintText=new Paint();

    paintPath.setColor(Color.Red); //路径的画刷为红色

    paintText.setColor(Color.Blue); //路径上的文字为蓝色

    Path pathCWJ=new Path();

    pathCWJ.addCircle(10,10,50,Direction.CW); // 半径为50px,绘制的方向CW为顺时针

    canvas.drawPath(pathCWJ,paintPath);

   canvas.drawTextOnPath("Android123 - CWJ",pathCWJ,0,15,paintText); //在路径上绘制文字
  }
   有关路径类常用的方法如下:

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)  //添加一个区域
  
void  addRoundRect(RectF rect, float[] radii, Path.Direction dir)  //添加一个圆角区域

boolean  isEmpty()  //判断路径是否为空

void  transform(Matrix matrix)  //应用矩阵变换

void  transform(Matrix matrix, Path dst)  //应用矩阵变换并将结果放到新的路径中,即第二个参数。

  有关路径的高级效果大家可以使用PathEffect类,有关路径的更多实例Android123将在今后的游戏开发实战中讲解道。

Typeface字体类

平时我们在TextView中需要设置显示的字体可以通过TextView中的setTypeface方法来指定一个Typeface对象,因为Android的字体类比较简单,我们列出所有成员方法

static Typeface  create(Typeface family, int style)  //静态方法,参数一为字体类型这里是Typeface的静态定义,如宋体,参数二风格,如粗体,斜体

static Typeface  create(String familyName, int style)  //静态方法,参数一为字体名的字符串,参数二为风格同上,这里我们推荐使用上面的方法。

static Typeface  createFromAsset(AssetManager mgr, String path)  //静态方法,参数一为AssetManager对象,主要用于从APK的assets文件夹中取出字体,参数二为相对于Android工程下的 assets文件夹中的外挂字体文件的路径。

static Typeface  createFromFile(File path)  //静态方法,从文件系统构造一个字体,这里参数可以是sdcard中的某个字体文件

static Typeface  createFromFile(String path)  //静态方法,从指定路径中构造字体

static Typeface  defaultFromStyle(int style) //静态方法,返回默认的字体风格

int  getStyle()  //获取当前字体风格
final boolean  isBold()  //判断当前是否为粗体
final boolean  isItalic()  //判断当前风格是否为斜体

  本类的常量静态定义,首先为字体类型名称

Typeface DEFAULT 
Typeface DEFAULT_BOLD
Typeface MONOSPACE
Typeface SANS_SERIF
Typeface SERIF

字体风格名称

int BOLD 
int BOLD_ITALIC 
int ITALIC
int NORMAL 
分享到:
评论
3 楼 dalin89 2012-02-10  
2 楼 dalin89 2012-02-10  
1 楼 dalin89 2012-02-10  
统构造一个字体,这里参

相关推荐

    Android游戏开发之旅

    5.Android游戏开发之旅五 Path和Typeface 6.Android游戏开发之旅六 自定义View 7.Android游戏开发之旅七 自定义SurfaceView 8.Android游戏开发之旅八 SurfaceView类实例 9.Android游戏开发之旅九 VideoView类...

    Android游戏开发20回合

    Android游戏开发五Path和Typeface Android游戏开发六 自定义View Android游戏开发七 自定义SurfaceView Android游戏开发八 SurfaceView类实例 Android游戏开发九 VideoView类剖析 Android游戏开发十 位图旋转 ...

    Android 学习(25)TypeFace

    自学 Android 做的第二十五个 Android 程序,使用了 TypeFace

    Android Typeface Helper.zip

    Android Typeface Helper,可以帮你轻松实现自定义字体的库,博客附件,效果请查看博客相对应项目。

    norbsoft/android-typeface-helper

    Android lacks proper support for custom typefaces. Most obvious method of defining typeface for UI elements via XML attributes is missing from default framework views. This library makes it a lot ...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...

    Typeface

    Typeface字体是一款用于时尚

    Google Android SDK开发范例大全的目录

    2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色...

    Google Android SDK开发范例大全 源码

    谷歌 Android 讲的很清楚,看得很模糊,这本书让你可以对Adnroid 看的很全面。抢占Android 市场,可能就在某个行业的将来抢占了一定的地位。 * 国内第一本全面介绍Android SDK的简体中文图书,目前为止最详细完整的...

    Android开发EditText属性.txt

     android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]  android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)  android:...

    typeface-0.10.js

    typeface-0.10.js

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    Google Android SDK开发范例大全(完整版) 包含部分书中源码 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 ...

    APP开发教程 Java Android移动端开发 4、Android UI进阶编程 (1) 共34页.pptx

    Android Drawable 概述 Bitmap & .9.png Shape XML StateListDrawable Android图形编程 类简介 Canvas Paint Typeface

    MISO-typeface

    MISO-typeface

    Google Android SDK开发范例大全(完整版)

    余志龙,来自于手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及J2EE、JSP、Servlet、JavaBeans、PHP、C#等程序语言,熟悉面向对象技术与Eclipse...

    helvetiker_regular.typeface.js

    helvetiker_regular.typeface.js

Global site tag (gtag.js) - Google Analytics