为文本设置 Paint
文字绘图设置
setTypeface(Typeface typeface)
设置字体。见字体setTextSize(int size)
设置字体大小(以像素为单位)。setColor(int color)
设置绘画颜色,包括文本颜色。你也可以使用setARGB(int a, int r, int g, int b
和setAlpha(int alpha)
setLetterSpacing(float size)
设置字符间的间距,单位为 ems。默认值为 0,负值将收紧文本,而正值将扩展它。setTextAlign(Paint.Align align)
设置相对于其原点的文本对齐方式。Paint.Align.LEFT
将它绘制到原点的右侧,RIGHT
将它绘制到左侧,CENTER
将它绘制在原点的中心(水平)setTextSkewX(float skewX)
这可以被认为是伪斜体。SkewX 表示文本底部的水平偏移。 (使用 -0.25 表示斜体)setStyle(Paint.Style style)
填写文本FILL
,笔划文本STROKE
,或两者FILL_AND_STROKE
请注意,你可以使用 TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, size,
getResources().getDisplayMetrics())
将 SP 或 DP 转换为像素。
测量文本
float width = paint.measureText(String text)
测量文字的宽度float height = paint.ascent()
测量文本的高度paint.getTextBounds(String text, int start, int end, Rect bounds
存储文本尺寸。你已经分配了 Rect,它不能为 null:
String text = "Hello world!";
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
还有其他测量方法,但这三种方法应该适合大多数用途。