前言在unity的ugui中Text控件,有时我们会有各种各样的需求,比如类似html中css的text-overflow属性,希望一段文字如果不够长就全显示,如果特别长就截断并且后面加上例如…如果从text的preferwidth或者通过添加content size filter组件应该也能完成类似任务,不过我倾向于直接算好长度去填充。这个功能核心代码为其中text为Text文本控件,RequestCharactersInTexture主要相当于指定需要渲染哪些字符。接下来通过myFont.GetCharacterInfo;分别去获得每个字符的信息,然后characterInfo.advance就拿到了每个字符的渲染长度。全部如下,这个例子是需要一个text和一个button,点击button,随机生成文字在text上。

unity里获取text中文字宽度并截断省略的操作

unity里获取text中文字宽度并截断省略的操作

unity里获取text中文字宽度并截断省略的操作

unity里获取text中文字宽度并截断省略的操作

unity里获取text中文字宽度并截断省略的操作