Android 字符串新行插入不在画布上工作

Android 字符串新行插入不在画布上工作,android,string,canvas,insert,line,Android,String,Canvas,Insert,Line,我想在字符串中插入新行,以便在画布上绘制文本,但我想不出来,因为它一直在水平绘制。我尝试使用XML资源并从整数转换。还有双反斜杠或四反斜杠。没有什么。帆布有什么问题吗?谢谢你的帮助 private Paint myPaint; private String myText; myPaint = new Paint(); myPaint.setTextAlign(Paint.Align.CENTER); myPaint.setTypeface(Typeface.DEFAULT_BOLD);

我想在字符串中插入新行,以便在画布上绘制文本,但我想不出来,因为它一直在水平绘制。我尝试使用XML资源并从整数转换。还有双反斜杠或四反斜杠。没有什么。帆布有什么问题吗?谢谢你的帮助

 private Paint myPaint;
 private String myText;
 myPaint = new Paint();
 myPaint.setTextAlign(Paint.Align.CENTER);
 myPaint.setTypeface(Typeface.DEFAULT_BOLD);
 myPaint.setTextSize(25);

 myText = "FIRST PART\nSECOND PART\nTHIRD PART\nFOURTH PART";
 @Override
 protected void onDraw(Canvas canvas) {
    canvas.drawText(myText,canvas.getWidth()/2,canvas.getHeight()/3,myPaint);
}

drawText将不接受\n项


您需要绘制文本3次,并按字体高度(显示度量)增加高度。

使用StaticLayout类一些代码跨度示例?只需在
onDraw
u中调用其
draw()
方法,即使用canvas参数的方法。不不工作是的,在onDraw(画布)中调用StaticLayout。draw(画布)谢谢大家,画三次是工作性能。@iγνττζτοςληνός不,不,不,不要这样做,请参见@iγνάτιοςληηός使用StaticLayout,它不仅可以绘制多行文本,而且可以自动将文本拆分为多行,最后还可以绘制富文本。G不要认为画三条线是一个糟糕的解决方案。也就是说,我不知道StaticLayout…很好。@mjstam是的,因为你必须将文本分成多行,而且很可能你不会以最佳方式这样做。。。