我需要将文本绘制到(自定义 View 的) Canvas 上,并且需要首先将其修剪为最大宽度,并在必要时在末尾添加省略号。我看到您可以为TextView做到这一点,但是我想在自定义 View 的onDraw()中完成它,而不必添加 subview 。

这可能吗?我知道我可以测量字符串,切掉一个字符,再次测量等,直到大小合适为止。而且我确信还有更有效的方法……但是我想避免重蹈覆辙如果可以的话,那个轮子。

最佳答案

看一看 TextUtils.ellipsize() 。我认为这正是您想要的。基本上,您只是告诉它可用的空间量,并使用其他状态信息,它将为您创建正确的文本。 :)

10-06 06:30