flash.text.imeIIMEClient IME(输入法编辑器)客户端的接口。 IME(输入法编辑器)客户端的接口。基于 flash.text.engine 包的组件必须实现此接口以支持使用 IME 编辑文本内联。此接口不与 TextField 对象一起使用。TextLayoutFramework (TLF) 使用此接口支持内联 IME,因此使用 TLF 的客户端不需要实现此接口。

要支持内联 IME,请将 ImeEvent.IME_START_COMPOSITION 事件的 imeClient 属性设置为实现此接口的对象。

下列术语经常用在与 IME 相关的 API 中:

  • 对话是 IME 和应用程序之间的交互。在对话期间,对合成进行一次或多次更新,然后由用户进行确认。
  • 合成标识由用户通过 IME 输入的文本;其中包括关联的输入状态信息,如选定的范围和任何子句的范围。
  • 子句是可能共享语义信息的合成的范围,例如表示输入处于选定的状态还是转换的状态。合成可以不包含子句,也可以包含多个子句。
flash.text.ime.CompositionAttributeRangeflash.events.IMEEvent.imeClienttextInput 当用户输入文本时调度。flash.events.TextEvent.TEXT_INPUTflash.events.TextEvent 当用户输入文本时调度。对于 IME(输入法编辑器)客户端,接收方应在当前插入点处插入包含在事件对象的 text 属性中的字符串。 imeStartComposition 当用户开始使用 IME(输入法编辑器)时调度。flash.events.IMEEvent.IME_START_COMPOSITIONflash.events.IMEEvent 当用户开始使用 IME(输入法编辑器)时调度。 confirmComposition 使用此回调结束内联编辑会话并确认此文本。textStringnull 文本在内联会话中的最终状态(确认的文本)。 preserveSelectionBooleanfalse 为 true 时,不应将当前选区重置为已确认文本的结尾。 使用此回调结束内联编辑会话并确认此文本。 getTextBounds IME 使用此方法查询当前使用 IME 客户端编辑的文本的边框。如果一个或两个索引都无效,则为指定的文本范围的边框或 null。如果 startIndex 大于或小于 endIndex,此方法返回相同的值。无论 startIndex 大于还是小于 endIndex,都应返回相同的值。 flash.geom:RectanglestartIndexint一个整数,指定您测量的边框中的文本范围的起始位置。 endIndexint可选;一个整数,指定您测量的边框中的文本范围的结束位置。 IME 使用此方法查询当前使用 IME 客户端编辑的文本的边框。当鼠标在文本字段或其他支持 IME 的组件上方时,使用此方法在 IME 客户端放置候选窗口并设置鼠标光标。 getTextInRange 从组件获取指定的文本范围。如果请求范围内无可用文本,或如果两个索引之一或两个索引都无效,则返回已请求文本或 null。无论 startIndex 大于还是小于 endIndex,都应返回同一个值。 StringstartIndexint一个整数,指定要检索的文本范围的起始位置。 endIndexint一个整数,指定要检索的文本范围的结束位置。 从组件获取指定的文本范围。在 IME 再转换期间调用此方法。 selectRange 设置所选文本在组件中的范围。anchorIndexint从零开始的字符索引值位于选区的锚点结尾 activeIndexint从零开始的字符索引值位于选区的活动端。 设置所选文本在组件中的范围。如果任一参数超出边界,则不应该更改此选择。 updateComposition 用于更新内联编辑会话内容的回调。textString 包含 IME 中的内联编辑会话的文本。 attributes 包含使用修饰信息的合成子句的数组。 compositionStartIndexint 相对于文本对象起点的内联会话的起点。 compositionEndIndexint 相对于文本对象起点的内联会话的结尾。 用于更新内联编辑会话内容的回调。每当使用 IME 编辑的文本已更改且客户端将其内容用于重绘整个内联编辑会话时,调用此方法。 compositionEndIndex 当前编辑会话文本(例如,未确认到文档中的内联会话中的所有文本)结尾的基于零的字符索引值。int 当前编辑会话文本(例如,未确认到文档中的内联会话中的所有文本)结尾的基于零的字符索引值。 compositionStartIndex 当前编辑会话文本(例如,未确认到文档中的内联会话中的所有文本)开头的基于零的字符索引值。int 当前编辑会话文本(例如,未确认到文档中的内联会话中的所有文本)开头的基于零的字符索引值。 selectionActiveIndex 当前所选内容中最后一个字符从零开始的字符索引值。int 当前所选内容中最后一个字符从零开始的字符索引值。 selectionAnchorIndex 当前所选内容中第一个字符从零开始的字符索引值。int 当前所选内容中第一个字符从零开始的字符索引值。 verticalTextLayout 表示组件中的文本是否垂直。Boolean 表示组件中的文本是否垂直。此属性指引候选窗口的位置(例如,垂直文本旁边或水平文本下方)。
CompositionAttributeRange CompositionAttributeRange 类表示一系列与 IME(输入法编辑器)事件配合使用的合成属性。Object CompositionAttributeRange 类表示一系列与 IME(输入法编辑器)事件配合使用的合成属性。例如,当在 IME 中编辑文本时,此文本将由 IME 分到合成范围。这些合成范围被标志为已选取(例如,当前正在对它们进行延长、缩短或编辑)和/或已转换(表示该范围已通过 IME 词典查找)。

按照惯例,客户端应根据标志使用下划线或突出显示来修饰这些合成范围。

例如:

!converted = thick gray underline (raw text) !selected && converted = thin black underline selected && converted = thick black underline
flash.text.ime.IIMEClientCompositionAttributeRange 创建 CompositionAttributeRange 对象。relativeStartint 包含在字符范围内的第一个从零开始的字符索引。 relativeEndint 包含在字符范围内的最后一个从零开始的字符索引。 selectedBoolean 将当前的合成子句定义为活动或非活动。 convertedBoolean 将当前子句定义为由 IME 处理并正在等待用户确认。 CompositionAttributeRange 对象的构造函数。 创建 CompositionAttributeRange 对象。 converted 定义当前子句的属性已由 IME 处理,并且该子句正在等待用户接收或确认。Boolean 定义当前子句的属性已由 IME 处理,并且该子句正在等待用户接收或确认。 relativeEnd 合成子句的结束位置(相对于内联编辑会话的起始处)。int 合成子句的结束位置(相对于内联编辑会话的起始处)。例如,0 等于 IME 读取的文本的开始(但是,在编辑字段中文本可能位于该位置之前)。 relativeStart 以当前内联编辑会话的起始处为参照的相对开始位置。int 以当前内联编辑会话的起始处为参照的相对开始位置。例如,0 等于 IME 读取的文本的开始(但是,在编辑字段中文本可能位于该位置之前)。 selected 定义当前合成子句的属性是活动的,使用 IME 对其进行延长、缩短或编辑时,相邻子句不会发生任何更改。Boolean 定义当前合成子句的属性是活动的,使用 IME 对其进行延长、缩短或编辑时,相邻子句不会发生任何更改。