在Android Canvas上包装长文本

Wil*_*ill 19 android 2d canvas

我有一个自定义控件,直接进行了大量的2D绘图canvas.

一些图纸是文字,所以我使用的Canvas.drawText()方法.

我想在一些边界内绘制文本 - 左上角,某个最大宽度和最大行数.在绘制文本后,我想知道它花了多少行.

是否有内置函数在边界内绘制文本进行明智的分割?

如果没有,是否有这样做的标准配方?

Rom*_*rik 31

你可以使用这个android.text.StaticLayout类; 只需创建一个StaticLayout所需的文本,对齐方式,宽度等,并调用其draw(Canvas)方法绘制到画布.