Skip to main content
版本:v3

getTextLayout(text_string, options)

API_LEVEL 2.0 开始支持,API 兼容性请参考 API_LEVEL

计算出目标文本布局完成之后的高度和宽度,并不会实际进行渲染,只进行布局计算。

可用于计算固定宽度下多行文本排布的高度,或者单行文本排布的宽度。

类型

(text: string, options: object) => result

参数

参数说明必填类型
text待计算布局的文本内容string
options支持传入的选项参数Options

Options

属性说明必填类型API_LEVEL
text_size文字大小number2.0
text_width单行文本的宽度,如果设置 wrapped:0text_width 需要传 0number2.0
wrapped文本是否换行,0:不换行;1: 换行number2.0
rows_max限制最大行数(当所给文本超过限制最大行数时,会被截断并且在后面补上省略号)。 默认值为 0,即不限制number3.0

result: object

属性说明类型API_LEVEL
width宽度像素值number2.0
height高度像素值number2.0
rows文本显示行数,当 wrapped 字段为 falserows 的值为 1number2.0
result计算结果, -1 - 出错,0 - 成功,1 - 成功,字符被截断并加了省略号number2.0
text计算成功时,返回截断并且加了省略号的文本内容,可用于实际 UI 控件的显示string2.0

代码示例

import { getTextLayout } from '@zos/ui'

const { width, height } = getTextLayout('turn right and go alone the road', {
text_size: 30,
text_width: 200
})

console.log('width', width)
console.log('height', height)
import { getTextLayout } from '@zos/ui'

const { width, height } = getTextLayout('turn right and go alone the road', {
text_size: 30,
text_width: 0,
wrapped: 0
})

console.log('width', width)
console.log('height', height)