我想在Canvas中绘制文本(在需要时自动添加新行)。那是我的示例代码:
Bitmap src= getBitmap();
Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888);
Canvas cs = new Canvas(dest);
cs.drawBitmap(src, 0f, 0f, null);
TextPaint tp= new TextPaint();
tp.setTextSize(.....);
tp. //Custom the text properties
StaticLayout sl= new StaticLayout(text, tp, src.getWidth(), Layout.Alignment.ALIGN_CENTER, 1.0f, 0.0f, false);
sl.draw(cs);
这适用于使用“center | top”重力绘制文本。但是我需要能够制作“中心”和“中心|底部”。 鉴于画布 src 和 sl 很容易计算sl必须去哪里但是 如何更改StaticLayout的“起始点”以添加填充?
由于
答案 0 :(得分:2)
你可以在“宽度”论证中为StaticLayout / DynamicLayout提供更多空间, 要在文本的顶部/底部获得一些填充,您可以使用“canvas.translate(x,y)”