当前位置:操作系统 > 安卓/Android >>

Android ApiDemos示例解析(68):Graphics->MeasureText

Canvas提供drawText,drawPostText在屏幕上显示文字,字体的类型和大小是通过设置paint 的属性来定义的。

Paint同时也提供了使用当前字体和大小绘制文字串时,文字在屏幕上占据的大小(宽度,高度,范围等)。

MeasureText 介绍了如何使用Paint提供的方法来测量文字的大小。

[java] 
mPaint.setTextSize(64); 
mPaint.setTypeface(Typeface.create(Typeface.SERIF, 
 Typeface.ITALIC)); 
  
... 
int count = mPaint.getTextWidths(text, 0, text.length(), widths); 
float w = mPaint.measureText(text, 0, text.length()); 
mPaint.getTextBounds(text, 0, text.length(), bounds); 

mPaint.setTextSize(64);
mPaint.setTypeface(Typeface.create(Typeface.SERIF,
 Typeface.ITALIC));
 
...
int count = mPaint.getTextWidths(text, 0, text.length(), widths);
float w = mPaint.measureText(text, 0, text.length());
mPaint.getTextBounds(text, 0, text.length(), bounds);文字最终的大小是和绘制文字的字体的类型和字体的大小是相关的,字体的类型和大小都是通过Paint对象来设置的setTypeface,setTextSize。

getTextWidths 可以提供widths数组返回text字符串中对应的每个字符使用当前字体绘制的宽度。而measureText则返回整个字符串的宽度。getTextBounds则是返回字符串占据的矩形区域大小。

 \
作者:mapdigit
 

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,