一起Talk Android吧(第四百一十一回:绘制文字)

Posted talk_8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第四百一十一回:绘制文字)相关的知识,希望对你有一定的参考价值。

文章目录


各位看官们,大家好,上一回中咱们说的例子是"间接绘制几何图形",这一回咱们介绍的例子是" 绘制文字"。闲话休提,言归正转,让我们一起Talk android吧!

看官们,我们在本章回中主要介绍如何绘制各种文字。通常情况下我们可以直接使用TextView来显示文字,不过在一些特殊的场景下需要专门对文字做处理,此时我们就需要去绘制文字。比如各种五颜六色的文字无法在一个TextView中显示出来,此时需要需要去绘制文字。

画正常文字

使用canvas.drawText()方法,可以绘制正常的文字,通过画笔可以设置字体大小,颜色,加粗、倾斜。下面是一个使用示例:

canvas.drawText("hello",100,300,mTextPaint);

上面的代码中会以(100,300)这个点为起点绘制"hello字体",字体的大小和颜色等与参数中的mTextPaint有关。

画空心文字

我们对画笔进行了设置,主要通过setStyle()方法修改了画笔的填充方式,这样可以画出空心字体,此外,我们设置了字体的大小,这样只是为了突出空心效果。

mTextPaint = new Paint();
mTextPaint.setColor(Color.WHITE);
mTextPaint.setTextSize(60);
mTextPaint.setStyle(Paint.Style.STROKE);
canvas.drawText("hello",100,300,mTextPaint);

画环绕文字

使用drawTextOnPath方法可以绘制环绕文字,比如倾斜或者圆形文字(印章)。绘制这类文字时首先需要绘制好路径。然后在路径上画文字。下面是一个示例程序:

//在路径中添加圆形,并且绘制路径
path.addCircle(200,300,100, Path.Direction.CCW);
canvas.drawPath(path,mArcPaint);
//沿着路径画文字
canvas.drawTextOnPath("hello",path,10,60,mTextPaint);

此代码运行后会得到一个环绕圆环的文字,代码中的drawTextOnPath包含三个参数,前两个参数不用解释,第3个参数表示文字距离x轴的距离,第4个参数表示文字距离y轴的距离,最后一个参数是画笔。

画太阳

画太阳的思路借用了画环绕文字的思路,我们先画了一个圆,然后围绕这个圆画环绕文字,不过文字比较特殊:一连串的的竖线。圆环表示太阳中心,这些竖线表示太阳发出的光线。下面是示例代码:

//在路径中添加圆形,并且绘制路径
path.addCircle(200,300,100, Path.Direction.CCW);
canvas.drawPath(path,mArcPaint);
canvas.drawTextOnPath("|  |  |  |  |  |  |  |  |  |  |  |  |  |",path,0,60,mTextPaint);

看官们,关于Android中"绘制文字"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

以上是关于一起Talk Android吧(第四百一十一回:绘制文字)的主要内容,如果未能解决你的问题,请参考以下文章

一起Talk Android吧(第四百一十八回:制作时钟)

一起Talk Android吧(第四百一十六回:绘制正弦波总结)

一起Talk Android吧(第四百一十九回:让时钟走起来)

一起Talk Android吧(第四百一十二回:Math类常用方法介绍)

一起Talk Android吧(第四百一十五回:使用圆弧绘制正弦波)

一起Talk Android吧(第四百一十三回:使用三角函数绘制正弦波)