1# @ohos.measure (文本计算) 2 3本模块提供文本宽度、高度等相关计算。 4 5> **说明** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9 10## 导入模块 11 12``` 13import measure from '@ohos.measure' 14``` 15 16## measure.measureText 17 18measureText(options: MeasureOptions): number 19 20计算指定文本单行布局下的宽度。 21 22**系统能力:** SystemCapability.ArkUI.ArkUI.Full 23 24**参数:** 25 26| 参数名 | 类型 | 必填 | 说明 | 27| ------- | ------------------------------- | ---- | --------- | 28| options | [MeasureOptions](#measureoptions) | 是 | 被计算文本描述信息。 | 29 30**返回值:** 31 32| 类型 | 说明 | 33| ------------ | --------- | 34| number | 文本宽度。<br/>**说明:** 单位px。 | 35 36 37**示例:** 38 39```ts 40import measure from '@ohos.measure' 41 42@Entry 43@Component 44struct Index { 45 @State textWidth: number = measure.measureText({ 46 textContent: "Hello word", 47 fontSize: '50px' 48 }) 49 50 build() { 51 Row() { 52 Column() { 53 Text(`The width of 'Hello World': ${this.textWidth}`) 54 } 55 .width('100%') 56 } 57 .height('100%') 58 } 59} 60``` 61 62## measure.measureTextSize<sup>10+</sup> 63 64measureTextSize(options: MeasureOptions): SizeOptions 65 66计算指定文本单行布局下的宽度和高度。 67 68**系统能力:** SystemCapability.ArkUI.ArkUI.Full 69 70**参数:** 71 72| 参数名 | 类型 | 必填 | 说明 | 73| ------- | ------------------------------- | ---- | --------- | 74| options | [MeasureOptions](#measureoptions) | 是 | 被计算文本描述信息。 | 75 76**返回值:** 77 78| 类型 | 说明 | 79| ------------ | --------- | 80| [SizeOption](arkui-ts/ts-types.md#sizeoptions) | 返回文本所占布局宽度和高度。<br/>**说明:** 文本宽度以及高度返回值单位均为px。 | 81 82 83**示例:** 84 85```ts 86import measure from '@ohos.measure' 87@Entry 88@Component 89struct Index { 90 textSize : SizeOptions = measure.measureTextSize({ 91 textContent: "Hello word", 92 fontSize: '50px' 93 }) 94 build() { 95 Row() { 96 Column() { 97 Text(`The width of 'Hello World': ${this.textSize.width}`) 98 Text(`The height of 'Hello World': ${this.textSize.height}`) 99 } 100 .width('100%') 101 } 102 .height('100%') 103 } 104} 105``` 106 107## MeasureOptions 108 109被计算文本属性。 110 111**系统能力:** SystemCapability.ArkUI.ArkUI.Full 112 113| 名称 | 类型 | 必填 | 说明 | 114| -------------- | -------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- | 115| textContent | string \| [Resource](arkui-ts/ts-types.md#resource) | 是 | 设置被计算文本内容。 | 116| constraintWidth<sup>10+</sup> | number \| string \| [Resource](arkui-ts/ts-types.md#resource) | 否 | 设置被计算文本布局宽度。<br/>**说明:** 默认单位为vp,不支持设置百分比字符串。若不设置,则文本SizeOption宽度为单行布局所占最大宽度值,若设置则为设置值。 | 117| fontSize | number \| string \| [Resource](arkui-ts/ts-types.md#resource) | 否 | 设置被计算文本字体大小,fontSize为number类型时,使用fp单位。<br/>默认值:16fp。<br/>**说明:** 不支持设置百分比字符串。 | 118| fontStyle | number \| [FontStyle](arkui-ts/ts-appendix-enums.md#fontstyle) | 否 | 设置被计算文本字体样式。<br>默认值:FontStyle.Normal | 119| fontWeight | number \| string \| [FontWeight](arkui-ts/ts-appendix-enums.md#fontweight) | 否 | 设置被计算文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。string类型仅支持number类型取值的字符串形式,例如"400",以及"bold"、"bolder"、"lighter"、"regular"、"medium",分别对应FontWeight中相应的枚举值。<br/>默认值:FontWeight.Normal| 120| fontFamily | string \| [Resource](arkui-ts/ts-types.md#resource) | 否 | 设置被计算文本字体列表。默认字体'HarmonyOS Sans',且当前只支持这种字体。| 121| letterSpacing | number \| string | 否 | 设置被计算文本字符间距。| 122| textAlign<sup>10+</sup> | number \| [TextAlign](arkui-ts/ts-appendix-enums.md#textalign) | 否 | 设置被计算文本水平方向的对齐方式。<br/>默认值:TextAlign.Start| 123| overflow<sup>10+</sup> | number \| [TextOverflow](arkui-ts/ts-appendix-enums.md#textoverflow) | 否 | 设置被计算文本超长时的截断方式。| 124| maxLines<sup>10+</sup> | number | 否 | 设置被计算文本最大行数。| 125| lineHeight<sup>10+</sup> | number \| string \| [Resource](arkui-ts/ts-types.md#resource) | 否 | 设置被计算文本行高。| 126| baselineOffset<sup>10+</sup> | number \| string | 否 | 设置被计算文本基线的偏移量。<br />默认值:0 | 127| textCase<sup>10+</sup> | number \| [TextCase](arkui-ts/ts-appendix-enums.md#textcase) | 否 | 设置被计算文本大小写。<br />默认值:TextCase.Normal | 128| textIndent<sup>11+</sup> | number \| string | 否 | 设置首行文本缩进,默认值0。 | 129| wordBreak<sup>11+</sup> | [WordBreak](arkui-ts/ts-appendix-enums.md#wordbreak11) | 否 | 设置断行规则。 <br />默认值:WordBreak.BREAK_WORD <br/>**说明:** <br/>从API version 11开始,该接口支持在ArkTS卡片中使用。<br/>WordBreak.BREAK_ALL与{overflow: TextOverflow.Ellipsis},`maxLines`组合使用可实现英文单词按字母截断,超出部分以省略号显示|