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 ,