宽度:
//1. 粗略计算文字宽度
Log.d(TAG, "measureText=" + paint.measureText(str));
//2. 计算文字所在矩形,可以得到宽高
Rect rect = new Rect();
paint.getTextBounds(str, 0, str.length(), rect);
int w = rect.width();
int h = rect.height();
Log.d(TAG, "w=" +w+" h="+h);
drawText(Stringtext,float x, float y, Paint paint)
参数:
text
需要绘制的文字
x
绘制文字原点X坐标
y
绘制文字原点Y坐标
paint
画笔
我们先来看一张图:
需要注意的是x,y
并不是文字左上角的坐标点,它比较特殊,y
所代表的是基线坐标y
的坐标。
二、FontMetrics
从图中可以知道,除了基线,还有另外的四条线,它们分别是 top
,ascent
,descent
和bottom
,它们的含义分别为:
- top:可绘制的最高高度所在线
- bottom:可绘制的最低高度所在线
- ascent :系统建议的,绘制单个字符时,字符应当的最高高度所在线
- descent:系统建议的,绘制单个字符时,字符应当的最低高度所在线
1、获取实例
- 1
- 2
- 3
- 1
- 2
- 3
两个构造方法的区别是,得到对象的成员变量的值一个为float
类型,一个为int
类型。
2、成员变量
FontMetrics,它里面有如下五个成员变量:
- 1
- 2
- 3