繁体   English   中英

使用 canvas.drawText 的文本中的换行符

[英]Newline character in a text using canvas.drawText

我正在做一个 Android 游戏,我正在使用这样的功能在设备屏幕上显示文本:

public void drawString(String text, int x, int y, Paint paint) {
    canvas.drawText(text, x, y, paint);

}

我尝试显示以下消息:

g.drawString("Player: " + playerString+ " :\n" + messageString,SCREENWIDTH / 2, SCREENHEIGHT / 2, paint);

然而,我得到一个奇怪的字符(一个正方形)而不是换行符(\n)。

任何人都可以帮助我吗?

谢谢

而不是drawString调用drawText和中断线调用 drawText 两次 Y 偏移。

看这里例如绘制多行文本到画布

public void drawString(Canvas canvas, String text, int x, int y, TextPaint paint) { if (text.contains("\n")) { String[] texts = text.split("\n"); for (String txt : texts) { canvas.drawText(txt, x, y, paint); y += paint.getTextSize(); } } else { canvas.drawText(text, x, y, paint); } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM