@ohos.measure (Text Measurement)

The measure module provides APIs for measuring text metrics, such as text height and width.

NOTE

The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import measure from '@ohos.measure'

measure.measureText

measureText(options: MeasureOptions): number

Measures the width of the given single-line text.

System capability: SystemCapability.ArkUI.ArkUI.Full

Parameters

Name Type Mandatory Description
options MeasureOptions Yes Information about the measured text.

Return value

Type Description
number Text width.
The unit is px.

Example

import measure from '@ohos.measure'

@Entry
@Component
struct Index {
  @State textWidth: number = measure.measureText({
    textContent: "Hello word",
    fontSize: '50px'
  })

  build() {
    Row() {
      Column() {
        Text(`The width of 'Hello World': ${this.textWidth}`)
      }
      .width('100%')
    }
    .height('100%')
  }
}

measure.measureTextSize10+

measureTextSize(options: MeasureOptions): SizeOptions

Measures the width and height of the given single-line text.

System capability: SystemCapability.ArkUI.ArkUI.Full

Parameters

Name Type Mandatory Description
options MeasureOptions Yes Information about the measured text.

Return value

Type Description
SizeOptions Layout width and height occupied by the text.
The unit is px.

Example

import measure from '@ohos.measure'
@Entry
@Component
struct Index {
  textSize : SizeOptions = measure.measureTextSize({
    textContent: "Hello word",
    fontSize: '50px'
  })
  build() {
    Row() {
      Column() {
        Text(`The width of 'Hello World': ${this.textSize.width}`)
        Text(`The height of 'Hello World': ${this.textSize.height}`)
      }
      .width('100%')
    }
    .height('100%')
  }
}

MeasureOptions

Provides attributes of the measured text.

System capability: SystemCapability.ArkUI.ArkUI.Full

Name Type Mandatory Description
textContent string Yes Content of the measured text.
constraintWidth10+ number | string | Resource No Layout width of the measured text.
The default unit is vp.
fontSize number | string | Resource No Font size of the measured text. If the value is of the number type, the unit fp is used.
Default value: 16fp
NOTE
The value cannot be a percentage.
fontStyle number | FontStyle No Font style of the measured text.
Default value: FontStyle.Normal
fontWeight number | string | FontWeight No Font width of the measured text.
For the number type, the value ranges from 100 to 900, at an interval of 100. A larger value indicates a heavier font weight. The default value is 400.
For the string type, only strings of the number type are supported, for example, 400, "bold", "bolder", "lighter", "regular", and "medium", which correspond to the enumerated values in FontWeight.
Default value: FontWeight.Normal
fontFamily string | Resource No Font family of the measured text. Default value: 'HarmonyOS Sans'
Only the default font is supported.
letterSpacing number | string No Letter spacing of the measured text.
textAlign10+ number | TextAlign No Horizontal alignment mode of the measured text.
Default value: TextAlign.Start
overflow10+ number | TextOverflow No Display mode when the measured text is too long.
maxLines10+ number No Maximum number of lines in the measured text.
lineHeight10+ number | string | Resource No Line height of the measured text.
baselineOffset10+ number | string No Baseline offset of the measured text.
Default value: 0
textCase10+ number | TextCase No Case of the measured text.
Default value: TextCase.Normal