是否可以使用Paint指定文本矩形?

时间:2012-07-11 04:32:45

标签: android canvas paint

我正在将文本绘制到Canvas中,并希望指定一个矩形,以便文本中断并在到达右边界时转到下一行。我可以设置一个“对齐”属性,所以很明显右侧和中间的概念存在,但我无法弄清楚如何指定文本框的宽度应该是什么。

TIA

...编辑 我感觉我将不得不推出自己的使用Paint.breakText方法的换行插入方法。我真的希望不是这样的! :)

EDIT2 .. 因此,除了其他所有内容之外,drawText会忽略\ n并将其绘制为[]缺少的char。

我写了一个解决方法,将每行的文本原点向下移动,但是BOY就是这个丑陋!

2 个答案:

答案 0 :(得分:1)

Paint.getTextBounds返回

的字符串宽度

“返回边界(由调用者分配)包含所有字符的最小矩形,隐含的原点位于(0,0)。”

我认为你很可能需要自己手动绘制字符串

答案 1 :(得分:0)

您应该使用StaticLayout而不是尝试自己破解文本。它提供了换行。引用文档:

  

除非您实现自己的窗口小部件或自定义显示对象,否则您不需要直接使用此类,或者想要直接调用Canvas.drawText()

相关问题