我需要在(自定义 View 的) Canvas 上绘制文本,并且需要先将其修剪到最大宽度,必要时在末尾添加省略号。我看到您可以为 TextView 执行此操作,但我想在自定义 View 的 onDraw() 中执行此操作,而不必添加 subview 。
这可能吗?我知道我可以测量字符串,切掉一个字符,再次测量,等等,直到它的大小合适……我相信还有更有效的方法……但我想避免重新发明如果可以的话,那个轮子。
最佳答案
看看TextUtils.ellipsize()
.我认为这正是你想要的。基本上,您只需告诉它可用空间的大小,然后使用其他状态信息,它就会为您创建正确的文本。 :)
关于android - 将文本 "ellipsized"绘制到 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4012232/