# 文本组件公共接口 >**说明:** > >文本类组件公共接口。 >本模块首批接口从API version 10开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## CaretStyle10+ **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------ | ------------------------------------------ | ---- | ---- | -------- | | width | [Length](ts-types.md#length) | 否 | 是 | 光标尺寸,不支持百分比。
默认值:'2vp' | | color | [ResourceColor](ts-types.md#resourcecolor) | 否 | 是 | 光标颜色。
默认值:'#ff007dff' | ## LayoutManager12+ 布局管理器对象。 > **说明:** > > 文本内容变更后,需等待布局完成才可获取到最新的布局信息。 ### 导入对象 以Text组件为例,完整示例请参考Text组件的[示例10获取文本信息](./ts-basic-components-text.md#示例10获取文本信息)。 ```ts controller: TextController = new TextController(); let layoutManager: LayoutManager = this.controller.getLayoutManager(); ``` ### getLineCount getLineCount(): number 获取组件内容的总行数。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------ | --------- | | number | 组件内容的总行数。 | ### getGlyphPositionAtCoordinate getGlyphPositionAtCoordinate(x: number, y: number): PositionWithAffinity 获取较为接近给定坐标的字形的位置信息。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------- | | x | number | 是 | 相对于组件的横坐标。
单位:[px](ts-pixel-units.md) | | y | number | 是 | 相对于组件的纵坐标。
单位:[px](ts-pixel-units.md) | **返回值:** | 类型 | 说明 | | --------------------------------------------- | ----------- | | [PositionWithAffinity](#positionwithaffinity12) | 字形位置信息。| ### getLineMetrics getLineMetrics(lineNumber: number): LineMetrics 获取指定行的行信息、文本样式信息、以及字体属性信息。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------- | | lineNumber | number | 是 | 行号,从0开始。 | **返回值:** | 类型 | 说明 | | ---------------------------------------- | -------- | | [LineMetrics](#linemetrics12) | 行信息、文本样式信息、以及字体属性信息。
当行号小于0或超出实际行,返回无效值。 | ### getRectsForRange14+ getRectsForRange(range: TextRange, widthStyle: RectWidthStyle, heightStyle: RectHeightStyle): Array\ 获取给定的矩形区域宽度以及矩形区域高度的规格下,文本中任意区间范围内的字符或占位符所占的绘制区域信息。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----------- | ----------------------------------- | ---- | ------------------------ | | range | [TextRange](#textrange12)| 是 | 需要获取的区域的文本区间。 | | widthStyle | [RectWidthStyle](#rectwidthstyle14) | 是 | 返回的矩形区域的宽度的规格。| | heightStyle | [RectHeightStyle](#rectheightstyle14) | 是 | 返回的矩形区域的高度的规格。| **返回值:** | 类型 | 说明 | | --------------------------- | ----------- | | Array\<[TextBox](#textbox14)> | 矩形区域数组。| ## PositionWithAffinity12+ 位置以及亲和度。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | --------- | --------------------- | ---- | ---- | ------------------------ | | position | number | 否 | 否 | 字形相对于组件内容的索引,整数。 | | affinity | [Affinity](#affinity12) | 否 | 否 | 位置亲和度。 | ## TextMenuItemId12+ 自定义菜单项的Id值。用于识别菜单选项,内置菜单项Id值见下列属性表格。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### 属性 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------------ |---------------------| ---- | ---- | ------ | | CUT | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 默认裁剪。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | COPY | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 默认复制。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | PASTE | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 默认粘贴。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | SELECT_ALL | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 默认全选。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | COLLABORATION_SERVICE | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 互通服务。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | CAMERA_INPUT | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 拍摄输入。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | AI_WRITER13+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 可对选中的文本进行润色、摘要提取、排版等。该菜单项依赖大模型能力,否则不生效。
**原子化服务API:** 从API version 13开始,该接口支持在原子化服务中使用。 | | TRANSLATE15+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的文本提供翻译服务。
**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 | | SHARE18+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的文本提供分享服务,拉起分享窗口分享选中文本内容。
**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 | | SEARCH18+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的文本提供搜索服务,拉起浏览器搜索选中文本内容。
**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 | | url20+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的URL提供跳转服务,拉起浏览器搜索或者应用页面。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | | email20+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的邮箱地址提供跳转服务,拉起邮箱应用。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | | phoneNumber20+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的电话号码跳转服务,拉起电话拨号页面。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | | address20+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的地址提供跳转服务,拉起地图应用。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | | dateTime20+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的日期和时间提供跳转服务,拉起新建日程页面。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | | askAI20+ | [TextMenuItemId](#textmenuitemid12) | 是 | 否 | 对选中的文本提供AI问询能力。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | ### of static of(id: ResourceStr): TextMenuItemId 根据id创建TextMenuItemId。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | --------------------------------- | ---- | ------------------------------------------------------------ | | id | [ResourceStr](ts-types.md#resourcestr) | 是 | 菜单的id。 | **返回值:** | 类型 | 说明 | | ------- | --------------------------------- | | [TextMenuItemId](#textmenuitemid12) | TextMenuItemId的对象。 | ### equals equals(id: TextMenuItemId): boolean 判断TextMenuItemId是否相等。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | --------------------------------- | ---- | ------------------------------------------------------------ | | id | [TextMenuItemId](#textmenuitemid12) | 是 | TextMenuItemId的id。 | **返回值:** | 类型 | 说明 | | ------- | --------------------------------- | | boolean | 两个TextMenuItemId是否相等。
true表示相等,false表示不相等。 | ## TextMenuItem12+对象说明 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | --------------------------------- | ---- | ---- | --------------------------------- | | content | [ResourceStr](ts-types.md#resourcestr) | 否 | 否 | 菜单名称。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | icon | [ResourceStr](ts-types.md#resourcestr) | 否 | 是 | 菜单图标。
不支持网络图片。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | id | [TextMenuItemId](#textmenuitemid12) | 否 | 否 | 菜单id。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | labelInfo15+ | [ResourceStr](ts-types.md#resourcestr) | 否 | 是 | 快捷键提示。
该字段仅2in1设备支持。
**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 | ## EditMenuOptions **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### onCreateMenu12+ onCreateMenu(menuItems: Array\): Array\ 在菜单创建时触发该回调,可在该回调中进行菜单数据设置。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | --------------------------------- | ---- | --------------------------------- | | menuItems | Array<[TextMenuItem](#textmenuitem12对象说明)> | 是 | 将要显示的菜单项。
**说明:**
对默认菜单项的名称、图标、快捷键提示修改不生效。 | **返回值:** | 类型 | 说明 | | ------- | --------------------------------- | | Array\<[TextMenuItem](#textmenuitem12对象说明)> | 处理后的菜单项。| ### onMenuItemClick12+ onMenuItemClick(menuItem: TextMenuItem, range: TextRange): boolean 菜单项功能函数。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | --------------------------------- | ---- | --------------------------------- | | menuItem | [TextMenuItem](#textmenuitem12对象说明) | 是 | 菜单项。 | | range | [TextRange](#textrange12) | 是 | 选中的文本信息。 | **返回值:** | 类型 | 说明 | | ------- | --------------------------------- | | boolean | 菜单项的执行逻辑。
返回为true,拦截系统默认逻辑,仅执行自定义逻辑。
返回为false,先执行自定义逻辑,再执行系统逻辑。 | ### onPrepareMenu20+ onPrepareMenu?: OnPrepareMenuCallback 当文本选择区域变化后显示菜单之前触发该回调,可在该回调中进行菜单数据设置。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | --------------------------------- | --------------------------------- | | [OnPrepareMenuCallback](#onpreparemenucallback20) | 当文本选择区域变化后显示菜单之前触发该回调,可在该回调中进行菜单数据设置。| ## OnPrepareMenuCallback20+ type OnPrepareMenuCallback = (menuItems: Array\) => Array\ 当文本选择区域变化后显示菜单之前触发该回调,可在该回调中进行菜单数据设置。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | --------------------------------- | ---- | --------------------------------- | | menuItems | Array<[TextMenuItem](#textmenuitem12对象说明)> | 是 | 将要显示的菜单项。
**说明:**
对默认菜单项的名称、图标、快捷键提示修改不生效。 | **返回值:** | 类型 | 说明 | | ------- | --------------------------------- | | Array\<[TextMenuItem](#textmenuitem12对象说明)> | 处理后的菜单项。| ## TextRange12+ 文本范围。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | -- | -- | -- | -- | -- | | start | number | 否 | 是 | 起始索引。 | | end | number | 否 | 是 | 结束索引。 | ## EditableTextOnChangeCallback12+ type EditableTextOnChangeCallback = (value: string, previewText?: PreviewText, options?: TextChangeOptions) => void 输入内容发生变化时,触发该回调。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | -- | -- | -- | -- | | value | string | 是 | 文本框内正式上屏的文本内容。 | | previewText | [PreviewText](#previewtext12) | 否 | 预上屏文本信息,包含预上屏起始位置和文本内容。 | | options15+ | [TextChangeOptions](#textchangeoptions15对象说明) | 否 | 文本内容变化信息,包含变化前后的选区范围、变化前的文本内容和预上屏文本信息。 | ## TextDataDetectorType11+枚举说明 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ----- | ----- | --------------------------------- | | PHONE_NUMBER | 0 | 电话号码 | | URL | 1 | 链接 | | EMAIL | 2 | 邮箱 | | ADDRESS | 3 | 地址 | | DATE_TIME12+ | 4 | 时间 | ## TextDeleteDirection12+枚举说明 定义删除文本方向。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------- | ---- | ---------------------------------- | | BACKWARD | 0 | 向后删除。 | | FORWARD | 1 | 向前删除。 | ## SuperscriptStyle20+枚举说明 定义文本上下角标样式。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------- | ---- | ---------------------------------- | | NORMAL | 0 | 普通文本样式。 | | SUPERSCRIPT | 1 | 上标文本样式。 | | SUBSCRIPT | 2 | 下标文本样式。 | ## MenuType13+枚举说明 菜单类型。 **原子化服务API:** 从API version 13开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------- | ---- | ------------------- | | SELECTION_MENU | 0 | 文本选择菜单。| | PREVIEW_MENU | 1 | 图片预览菜单。| ## KeyboardAppearance15+枚举说明 键盘外观。 **原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------- | ---- | ------------------- | | NONE_IMMERSIVE | 0 | 默认外观模式,不采用沉浸式风格。| | IMMERSIVE | 1 | 沉浸式模式,跟随系统。| | LIGHT_IMMERSIVE | 2 | 浅色沉浸式风格。| | DARK_IMMERSIVE | 3 | 深色沉浸式风格。| ## InsertValue12+对象说明 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | insertOffset | number | 否 | 否 | 插入的值的位置信息。 | | insertValue | string | 否 | 否 | 插入的值。 | ## DeleteValue12+对象说明 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | deleteOffset | number | 否 | 否 | 删除的值的位置信息。 | | direction | [TextDeleteDirection](#textdeletedirection12枚举说明) | 否 | 否 | 删除值的方向。 | | deleteValue | string | 否 | 否 | 删除的值。 | ## TextDataDetectorConfig11+对象说明 该配置只支持[Text](ts-basic-components-text.md)组件和[RichEditor](ts-basic-components-richeditor.md)组件。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------ | -------- | ---- | ---- | ------------------------------------------- | | types | [TextDataDetectorType](ts-text-common.md#textdatadetectortype11枚举说明)[] | 否 | 否 | 设置文本识别的实体类型。设置types为null或者[]时,识别所有类型的实体,否则只识别指定类型的实体。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | onDetectResultUpdate | Callback\ | 否 | 是 | 文本识别成功后,触发onDetectResultUpdate回调。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | color12+ | [ResourceColor](ts-types.md#resourcecolor) | 否 | 是 | 设置文本识别成功后的实体颜色。
默认值:'#ff0a59f7'
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | decoration12+ | [DecorationStyleInterface](ts-universal-styled-string.md#decorationstyleinterface)| 否 | 是 | 设置文本识别成功后的实体装饰线样式。
默认值:
{
 type: TextDecorationType.Underline,
 color: 与实体颜色一致,
 style: TextDecorationStyle.SOLID 
}
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | enablePreviewMenu20+ | boolean | 否 | 是 | 设置是否开启文本识别长按显示预览菜单。true表示开启,false表示未开启。
默认值:false
当[copyOptions](ts-basic-components-richeditor.md#copyoptions)设置为None时,若enablePreviewMenu设置为true,长按AI实体也不能显示预览菜单。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | ## PreviewText12+ 预上屏信息。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | -------- | ------------------------------------------------ | ---- | ---- | -------------------------------------------------------- | | offset | number | 否 | 否 | 预上屏内容的起始位置。 | | value | string | 否 | 否 | 预上屏的内容。 | ## FontSettingOptions12+对象说明 字体配置项,比如通过设置应用内组件的字体粗细,进行可变字重调节。 **卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | -------- | ------------------------------------------------ | ---- | ---- | -------------------------------------------------------- | | enableVariableFontWeight | boolean | 否 | 是 | 是否支持可变字重调节。
默认值:false
值为true,表示支持字重调节,值为false,表示不支持字重调节。 | ## OnDidChangeCallback12+ type OnDidChangeCallback = (rangeBefore: TextRange, rangeAfter: TextRange) => void 文本变换后回调。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | -- | -- | -- | -- | | rangeBefore | [TextRange](#textrange12) | 是 | 文本变化前将要被替换的文本范围。 | | rangeAfter | [TextRange](#textrange12) | 是 | 文本变化后新增内容的文本范围。 | ## StyledStringChangedListener12+ 属性字符串的文本内容变化监听器。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | -- | -- | -- | -- | -- | | onWillChange | Callback<[StyledStringChangeValue](#styledstringchangevalue12), boolean> | 否 | 是 | 文本内容将要变化回调函数。 | | onDidChange | [OnDidChangeCallback](#ondidchangecallback12) | 否 | 是 | 文本内容完成变化回调函数。 | ## StyledStringChangeValue12+ 属性字符串的文本变化信息。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | -- | -- | -- | -- | -- | | range | [TextRange](#textrange12) | 否 | 否 | 即将被替换的属性字符串子串在原字符串中的范围。 | | replacementString | [StyledString](ts-universal-styled-string.md#styledstring) | 否 | 否 | 用于替换的属性字符串。 | | previewText | [StyledString](ts-universal-styled-string.md#styledstring) | 否 | 是 | 预览样式字符串。 | ## AutoCapitalizationMode20+枚举说明 自动大小写模式类型,只提供接口能力,具体实现以输入法应用为主。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------- | ---- | ------------------- | | NONE | 0 | 默认状态无效。| | WORDS | 1 | 按单词自动大小写。| | SENTENCES | 2 | 按句子自动大小写。| | ALL_CHARACTERS | 3 | 按全字符自动大小写。| ## TextBaseController12+ 文本选择控制器。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### setSelection12+ setSelection(selectionStart: number, selectionEnd: number, options?: SelectionOptions): void 支持设置组件内的内容选中,选中部分背板高亮。 selectionStart和selectionEnd均为-1时表示全选。 未获焦时调用该接口不产生选中效果。 从API version 12开始,在2in1设备中,无论options取何值,调用setSelection接口都不会弹出菜单,此外,如果组件中已经存在菜单,调用setSelection接口会关闭菜单。 在非2in1设备中,options取值为MenuPolicy.DEFAULT时,遵循以下规则: 1. 组件内有手柄菜单时,接口调用后不关闭菜单,并且调整菜单位置。 2. 组件内有不带手柄的菜单时,接口调用后不关闭菜单,并且菜单位置不变。 3. 组件内无菜单时,接口调用后也无菜单显示。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------------- | ------ | ---- | ------- | | selectionStart | number | 是 | 选中开始位置。
取值小于0时,按0处理。 | | selectionEnd | number | 是 | 选中结束位置。
取值大于文本长度时,按当前文本长度处理。 | | options | [SelectionOptions](ts-universal-attributes-text-style.md#selectionoptions12对象说明) | 否 | 选择项配置。 | ### closeSelectionMenu12+ closeSelectionMenu(): void 关闭自定义选择菜单或系统默认选择菜单。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### getLayoutManager12+ getLayoutManager(): LayoutManager 获取布局管理器对象。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------- | | [LayoutManager](ts-text-common.md#layoutmanager12) | 布局管理器对象。 | ## TextEditControllerEx12+ 文本扩展编辑控制器。 继承自[TextBaseController](#textbasecontroller12)。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### isEditing12+ isEditing(): boolean 获取当前富文本的编辑状态。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------- | ----------------------------- | | boolean | true为编辑态,false为非编辑态。 | ### stopEditing12+ stopEditing(): void 退出编辑态。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### getCaretOffset12+ getCaretOffset(): number 返回当前光标所在位置。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------ | --------- | | number | 当前光标所在位置。 | ### setCaretOffset12+ setCaretOffset(offset: number): boolean 设置光标位置。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------- | | offset | number | 是 | 光标偏移位置。超出所有内容范围时,设置失败。 | **返回值:** | 类型 | 说明 | | ------- | --------- | | boolean | 光标是否设置成功。
true表示光标设置成功,false表示设置失败。 | ### getPreviewText12+ getPreviewText?(): PreviewText 获取预上屏信息。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ---------------------------------------- | ------- | | [PreviewText](#previewtext12) | 预上屏信息。 |. ## StyledStringController12+ 定义StyledString控制器。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### setStyledString12+ setStyledString(styledString: StyledString): void 设置富文本组件显示的属性字符串。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ----- | ------ | ---- | ------------------- | | styledString | [StyledString](ts-universal-styled-string.md#styledstring) | 是 | 属性字符串。
**说明:**
StyledString的子类[MutableStyledString](ts-universal-styled-string.md#mutablestyledstring)也可以作为入参值。 | ### getStyledString12+ getStyledString(): MutableStyledString 获取富文本组件显示的属性字符串。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **返回值:** | 类型 | 说明 | | ------- | ----------------------------- | | [MutableStyledString](ts-universal-styled-string.md#mutablestyledstring) | 富文本组件显示的属性字符串。 | ## DecorationStyleResult12+ 后端返回的文本装饰线样式信息。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | --------------------------------- | ---- | ---- | --------------------------------- | | type | [TextDecorationType](ts-appendix-enums.md#textdecorationtype) | 否 | 否 | 装饰线类型。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | color | [ResourceColor](ts-types.md#resourcecolor) | 否 | 否 | 装饰线颜色。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | style | [TextDecorationStyle](ts-appendix-enums.md#textdecorationstyle12) | 否 | 是 | 装饰线样式。
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | | thicknessScale20+ | number | 否 | 是 | 装饰线粗细缩放比例。
默认值:1.0
取值范围:[0, +∞)
**说明:** 负值按默认值处理。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 | ## LineMetrics12+ type LineMetrics = LineMetrics 用于描述文本布局中单行文字的度量信息。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | --------------------------------- | --------------------------------- | | [LineMetrics](../../apis-arkgraphics2d/js-apis-graphics-text.md#linemetrics) | 用于描述文本布局中单行文字的度量信息。 | ## Affinity12+ type Affinity = Affinity 位置亲和度枚举。 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | --------------------------------- | --------------------------------- | | [Affinity](../../apis-arkgraphics2d/js-apis-graphics-text.md#affinity) | 位置亲和度枚举。 | ## TextBox14+ type TextBox = TextBox 文本矩形区域。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | --------------------------------- | --------------------------------- | | [TextBox](../../apis-arkgraphics2d/js-apis-graphics-text.md#textbox) | 文本矩形区域。 | ## Paragraph20+ type Paragraph = Paragraph 保存文本内容及样式的载体,支持排版与绘制操作。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | --------------------------------- | --------------------------------- | | [Paragraph](../../apis-arkgraphics2d/js-apis-graphics-text.md#paragraph) | 保存文本内容及样式的载体,支持排版与绘制操作。 | ## RectHeightStyle14+ type RectHeightStyle = RectHeightStyle 矩形区域高度规格枚举。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | --------------------------------- | --------------------------------- | | [RectHeightStyle](../../apis-arkgraphics2d/js-apis-graphics-text.md#rectheightstyle) | 矩形区域高度规格枚举。 | ## RectWidthStyle14+ type RectWidthStyle = RectWidthStyle 矩形区域宽度规格枚举。 **原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 类型 | 说明 | | --------------------------------- | --------------------------------- | | [RectWidthStyle](../../apis-arkgraphics2d/js-apis-graphics-text.md#rectwidthstyle) | 矩形区域宽度规格枚举。 | ## TextChangeOptions15+对象说明 变化前的文本信息,以及变化后的选区范围。 **原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | rangeBefore | [TextRange](#textrange12) | 否 | 否 | 变化前的选区范围。 | | rangeAfter | [TextRange](#textrange12) | 否 | 否 | 变化后的选区范围。 | | oldContent | string | 否 | 否 | 变化前的文本内容。 | | oldPreviewText | [PreviewText](#previewtext12) | 否 | 否 | 变化前的预上屏信息。 | ## EditableTextChangeValue15+ 文本变化的详细信息,包括预上屏。 **原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | content | string | 否 | 否 | 当前的文本内容。 | | previewText | [PreviewText](#previewtext12) | 否 | 是 | 预上屏的内容信息。 | | options | [TextChangeOptions](#textchangeoptions15对象说明) | 否 | 是 | 变化的文本内容信息。 | ## TextMenuShowMode16+ 菜单的显示模式。 **原子化服务API:** 从API version 16开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------- | ---- | ------------------- | | DEFAULT | 0 | 显示在当前窗口中。
| | PREFER_WINDOW | 1 | 优先显示在独立窗口中,若不支持独立窗口,则显示在当前窗口中。
**说明:**
除应用主窗口、应用子窗口、系统模态窗口及系统桌面类型的窗口外,其他类型的窗口不支持将文本选择菜单显示在独立窗口中。
在预览器中不支持将文本选择菜单显示在独立窗口中。
在UIExtension中不支持将文本选择菜单显示在独立窗口中。
当文本类组件已经显示在子窗类型的Popup、Dialog、Toast、Menu中时,不支持将其对应的文本选择菜单显示在独立窗口中。
当TextInput、TextArea可支持拉起AutoFill时,不支持将其对应的文本选择菜单显示在独立窗口中。
| ## TextMenuOptions16+对象说明 菜单选项。 **原子化服务API:** 从API version 16开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | showMode | [TextMenuShowMode](#textmenushowmode16) | 否 | 是 | 菜单的显示模式。
默认值:TextMenuShowMode.DEFAULT | ## ShaderStyle20+ 文本着色器效果基类。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ## LinearGradientStyle20+ 显示为线性渐变。LinearGradientStyle继承自[ShaderStyle](#shaderstyle20)。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### 属性 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ------ | ---- | ----- | ----- | | options | [LinearGradientOptions](../arkui-ts/ts-universal-attributes-gradient-color.md#lineargradientoptions18对象说明) | 否 | 否 | 显示为线性渐变效果。 | ### constructor20+ constructor(options: LinearGradientOptions) 用于创建LinearGradientStyle对象的构造函数。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ----- | | options | [LinearGradientOptions](../arkui-ts/ts-universal-attributes-gradient-color.md#lineargradientoptions18对象说明) | 是 | 显示为线性渐变效果。 | ## RadialGradientStyle20+ 显示为径向渐变。RadialGradientStyle继承自[ShaderStyle](#shaderstyle20)。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### 属性 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | options | [RadialGradientOptions](../arkui-ts/ts-universal-attributes-gradient-color.md#radialgradientoptions18对象说明) | 否 | 否 | 显示为径向渐变效果。 | ### constructor20+ constructor(options: RadialGradientOptions) 用于创建RadialGradientOptions对象的构造函数。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | | options | [RadialGradientOptions](../arkui-ts/ts-universal-attributes-gradient-color.md#radialgradientoptions18对象说明) | 是 | 显示为径向渐变效果。 | ## ColorShaderStyle20+ 显示为纯色。ColorShaderStyle继承自[ShaderStyle](#shaderstyle20)。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### 属性 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | color | [ResourceColor](ts-types.md#resourcecolor) | 否 | 否 | 显示为纯色效果。 | ### constructor20+ constructor(color: ResourceColor) 用于创建ResourceColor对象的构造函数。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ | | color | [ResourceColor](ts-types.md#resourcecolor) | 是 | 显示为纯色效果。 | ## IMEClient20+对象说明 输入控件绑定输入法客户端类型。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------- | ----------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | nodeId | number | 否 | 否 | 当前输入控件的组件UniqueId。取值范围大于等于0。 | ## TextChangeReason20+ 组件内容变化原因。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | ------- | ---- | ------------------- | | UNKNOWN | 0 | 未知原因。 | | INPUT | 1 | 用户输入。 | | PASTE | 2 | 粘贴。 | | CUT | 3 | 剪切。 | | DRAG | 4 | 拖拽。 | | AUTO_FILL | 5 | 自动填充。 | | AI_WRITE | 6 | 小艺帮写。 | | REDO | 7 | 重做。 | | UNDO | 8 | 撤销。 | | CONTROLLER | 9 | 开发者API调用。 | | ACCESSIBILITY | 10 | 无障碍接口。 | | COLLABORATION | 11 | 跨端拍照。 | | STYLUS | 12 | 手写笔。 | ## MaxLinesOptions20+对象说明 配置TextArea组件,文本超长时的显示效果。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------------------- | ------- | ------- | ------- | ------------------------------------------------------------ | | overflowMode | [MaxLinesMode](#maxlinesmode20) | 否 | 是 | `overflowMode`可配置TextArea组件的非内联模式。当超出设置的`maxLines`最大行数时,会启用滚动效果。需同时配置[`textOverflow`](ts-basic-components-textarea.md#textoverflow12),且仅当`textOverflow`为None或Clip时,`MaxLinesMode`才能生效。默认情况下,`MaxLinesMode`的值为Clip,超出`maxLines`后文本会被截断。 | ## MaxLinesMode20+ TextArea组件在文本超长时显示效果。默认值为CLIP,按最大行截断显示。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | --------------------- | ------- | ------------------- | | CLIP | 0 | 文本超长时按最大行截断显示。 | | SCROLL | 1 | 文本超长时可滚动显示。 | ## LineSpacingOptions20+对象说明 设置文本的行间距,是否仅在行与行之间生效。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 名称 | 类型 | 只读 | 可选 | 说明 | | ------ | ------------------------------------------------------------ | ---- | ---- | ---------------- | | onlyBetweenLines | boolean | 否 | 是 | 文本的行间距是否仅在行与行之间生效。
当设置为true时,行间距仅适用于行与行之间,首行上方和尾行下方无额外的行间距。当设置为false时,首行上方和尾行下方均会存在行间距。
默认值:false | ## TextVerticalAlign20+ 文本垂直对齐的方式。默认值BASELINE,沿基线对齐。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | --------------------- | -------------------| ------------------- | | BASELINE | 0 | 对齐文本基线。 | | BOTTOM | 1 | 对齐文本底部。 | | CENTER | 2 | 垂直居中对齐。 | | TOP | 3 | 对齐文本顶部。 | ## ContentTransition20+ 文本动效基类。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ## NumericTextTransition20+ 数字翻牌动效。仅限正整数,不支持小数和负数。不支持渐变色和Text跑马灯模式。不支持选中,[copyOption](../arkui-ts/ts-basic-components-text.md#copyoption9)属性无效。当文本存在子组件时或通过属性字符串设置时,数字翻牌失效。 NumericTextTransition继承自[ContentTransition](#contenttransition20)。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full ### 属性 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------------------------------------------ | ---------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | flipDirection | [FlipDirection](#flipdirection20) | 否 | 是 | 翻牌方向。
默认值:FlipDirection.DOWN | | enableBlur | boolean | 否 | 是 | 是否开启翻牌模糊效果。
默认值:false
true:开启翻牌模糊效果。
false:不开启翻牌模糊效果。| ### constructor20+ constructor(options?: NumericTextTransitionOptions) 用于创建NumericTextTransition对象的构造函数。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------- | ------ | ---- | ----- | | options | [NumericTextTransitionOptions](#numerictexttransitionoptions20对象说明) | 否 | 设置数字翻牌动效。 | ## NumericTextTransitionOptions20+对象说明 数字翻牌的参数。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | ------------------------------------------ | ---------------------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | | flipDirection | [FlipDirection](#flipdirection20) | 否 | 是 | 翻牌方向。
默认值:FlipDirection.DOWN | | enableBlur | boolean | 否 | 是 | 是否开启翻牌模糊效果。
默认值:false
true:开启翻牌模糊效果。
false:不开启翻牌模糊效果。| ## FlipDirection20+ 翻牌方向。默认值为DOWN。 **原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 值 | 说明 | | --------------------- | ------- | ------------------- | | DOWN | 0 | 内容往下翻。| | UP | 1 | 内容往上翻。 | ## TextLayoutOptions对象说明20+ 文本布局选项。 **系统能力:** SystemCapability.ArkUI.ArkUI.Full | 名称 | 类型 | 只读 | 可选 | 说明 | | -------- | -------- | -------- | -------- | -------- | | constraintWidth | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 是 | 设置被计算文本布局宽度。若不设置则宽度为单行布局所占最大宽度值。 |