在画布上绘制文本的问题

时间:2012-02-07 10:23:16

标签: android android-canvas

我正在使用drawText()方法在画布上绘制文本。但是当线条较大然后屏幕时切割文字意味着如果线条大于屏幕尺寸那么它应该是新线条,但它不会发生。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

您要找的是StaticLayout

您可以使用Android.text.StaticLayout类并调用它draw(Canvas)来绘制包装到下一行的文字。

答案 1 :(得分:0)

Canvas.drawText方法不会自动处理换行。你必须自己做。您可以尝试使用Paint对象中的breakText方法 - 不确定这些方法是否在单词边界上断开,或者只是在整个字符上。

答案 2 :(得分:0)

尝试:

mTextLayout = new DynamicLayout([charseq], paint, width,
                Alignment.ALIGN_CENTER, 1.0f, 0.0f, false);

这会将文本布局限制为特定宽度。