android 默认字体路径,Android 路径及文字(二)

要随时牢记在心中:决心取得成功比任何一件事情都重要。——林肯

在 Android 中,Path 类就代表路径。在 Canvas 中绘制路径的方法如下:

void drawPath(Path path, Paint paint)

直线路径

画一条直线路径,一般涉及下面三个函数。

void moveTo(float x1, float y1)

void lineTo(float x2, float y2)

void close()

(x1,y1)是直线的起始点,即将直线路径的绘制点定在(x1,y1)位置。(x2,y2)是直线的终点,又是下一次绘制直线路径的起始点;lineTo()函数可以一直使用。如果连续画了几条直线,但没有形成闭环,那么调用 close()函数会将路径首尾点连接起来,形成闭环。

示例:画一个三角形。

Paint paint=new Paint();

paint.setColor(Color.RED); //设置画笔颜色

paint.setStyle(Paint.Style.STROKE); //填充样式改为描边

paint.setStrokeWidth(5); //设置画笔宽度

Path path = new Path();

path.moveTo(10, 10); //设定起始点

path.lineTo(10, 100); //第一条直线的终点,也是第二条直线的起始点

path.lineTo(300, 100); //画第二条直线

path.close(); //闭环

canvas.drawPath(path, paint);

我们先沿逆时针方向画了两条直线,分别是从(10, 10)到(10, 100)和从(10, 100)到(300,100),然后利用path.close()函数将路径闭合,路径的终点(300,100)就会自行向路径的起始点(10,10)画一条闭合线,所以最终我们看到的是一个路径闭合的三角形。

矩形路径

void addRect (float left, float top, float right, float bottom, Path.Direction dir)

void addRect (RectF rect, Path.Direction dir)

这里Path类创建矩形路径的参数与上篇canvas绘制矩形差不多,唯一不同的一点是增加了Path.Direction参数

Path.Direction有两个值:

Path.Direction.CCW:是counter-clockwise缩写,指创建逆时针方向的矩形路径;

Path.Direction.CW:是clockwise的缩写,指创建顺时针方向的矩形路径;

//先创建两个大小一样的路径

//第一个逆向生成

Path ccwRectPath = new Path();

RectF rect1 = new RectF(50, 50, 240, 200);

ccwRectPath.addRect(rect1, Path.Direction.CCW);

//第二个顺向生成

Path cwRectPath = new Path();

RectF rectF2 = new RectF(290, 50, 480, 200);

cwRectPath.addRect(rectF2, Path.Direction.CW);

//先画出这两个路径

canvas.drawPath(ccwRectPath, paint);

canvas.drawPath(cwRectPath, paint);

那生成方式有什么区别呢?

依据生成方向排版的文字!文字是可以依据路径排版的,文字的行走方向就是依据路径的生成方向。<

你可能感兴趣的:(android,默认字体路径)