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

问题描述 投票:1回答:2

我正在做一个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)。>

任何人都可以帮助我吗?

谢谢

我正在做一个Android游戏,我正在使用类似的函数在设备屏幕上显示文本:public void drawString(String text,int x,int y,Paint paint){canvas.drawText(text, x,y,...

java android newline android-canvas drawtext
2个回答
3
投票

而不是drawString调用drawText对于中断线,请使用Y偏移两次调用drawText。


0
投票
public void drawString(String text, int x, int y, Paint 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);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.