8.2.13 drawText方法:绘制字符串
【功能说明】该方法用于在画布上绘制字符串,通过指定字符串的内容和显示的位置来实现。在画布上绘制字符串是经常用到的操作,Android系统提供了非常灵活的绘制字符串的方法,可以根据不同的需要调用不同的方法来实现。字体的大小、样式等信息都需要在Paint画笔中来指定。
【基本语法】drawText方法可以采用如下几种形式:
public void drawText (String text, float x, float y, Paint paint)
public void drawText (char[] text, int index, int count, float x, float y, Paint paint)
public void drawText (CharSequence text, int start, int end, float x, float y, Paint paint)
public void drawText (String text, int start, int end, float x, float y, Paint paint)
参数说明
text:字符串内容,可以采用String格式,也可以采用char字符数组形式。
x:显示位置的x坐标。
y:显示位置的y坐标。
index:显示的起始字符位置。
count:显示字符的个数。
start:显示的起始字符位置。
end:显示的终止字符位置。
paint:绘制时所使用的画笔。
【实例演示】下面通过代码来演示如何在画布上绘制字符串。
protectedvoidonDraw(Canvascanvas){ //TODOAuto-generatedmethodstub super.onDraw(canvas); paint.setAntiAlias(true);//设置画笔为无锯齿 paint.setColor(Color.BLACK);//设置画笔颜色 canvas.drawColor(Color.WHITE);//白色背景 paint.setTextSize((float)30.0);//设置字体大小Stringstr="Android应用程序开发";//字符串 char[]ch={'H','e','l','l','o','','A','n','d','r','o','i','d'};//字符数组canvas.drawText(str,50,200,paint);//绘制字符串 canvas.drawText(ch,0,ch.length,50,300,paint);//绘制字符串 canvas.drawText(str+"API详解",0,str.length()+6,50,400,paint);//绘制字符串 canvas.drawText(str,7,str.length(),50,500,paint);//绘制字符串 }
在这段代码中,首先设置了画笔的属性以及画布的背景颜色,然后初始化了字符串和字符数组。接着,分别调用drawText的4种方式来在画布上绘制字符串。读者运行这段代码,可以在手机屏幕上看到如图8.23所示的显示效果。
[TR]
[TD][I]498)this.width=498;' onmousewheel = 'javascript:return big(this)' height=377 alt="" src="http://pic.aIhUaU.com/201602/15/124255176.jpg" width=236 border=0>[/TD][/TR]
[TR]
[TD]图8.23 绘制字符串[/TD][/TR]