void drawMultiLineText(String str, float x, float y, Paint paint,
Canvas canvas) {
String[] lines = str.split("\n");
float txtSize = -paint.ascent() + paint.descent();
if (paint.getStyle() == Style.FILL_AND_STROKE
|| paint.getStyle() == Style.STROKE) {
txtSize += paint.getStrokeWidth(); // add stroke width to the text
}
float lineSpace = txtSize * 0.1f; // default line spacing
for (int i = 0; i < lines.length; ++i) {
canvas.drawText(lines[i], x, y + (txtSize + lineSpace) * i, paint);
}
}
Android drawText() 绘制多行文字
最新推荐文章于 2024-06-24 14:44:27 发布