3

我正在使用自定义字体并将文本添加到带有 android 中的 Paint 对象的画布中,例如:

Paint paint = new Paint();
paint.setARGB(255, 255, 255, 255);

paint.setTextSize(29);
paint.setAntiAlias(true);
paint.setTypeface(font);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER)); // Text Overlapping Pattern

final TextPaint tp = new TextPaint(paint);
final TextPaint tpStroke = new TextPaint(strokePaint);

// canvas.translate(15, 5);
canvas.translate(20, 5);

StaticLayout sl = new StaticLayout(textOne.getText().toString(), tp, (finalBitmapOne.getWidth()-10), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);

sl.draw(canvas);

我对前导/行高不满意,我该如何调整它?

我可以通过以下方式获得领先:

FontMetrics fmPaint = paint.getFontMetrics();
fmPaint.leading;

但是我该如何调整呢?

4

1 回答 1

1

getFontMetrics(强调我的)的文档中:

返回字体推荐的行间距,给定 Paint 的字体、textSize 等设置。如果 metrics 不为 null,则返回其中的 fontmetric 值。

您没有设置它来更改间距,您阅读它以确定推荐的间距应该是什么。您必须自己手动重新定位坐标,即在绘制每条线之间再次平移画布。

于 2013-01-04T01:02:06.060 回答