包 | flash.text.ime |
接口 | public interface IIMEClient |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
要支持内联 IME,请将 ImeEvent.IME_START_COMPOSITION
事件的 imeClient
属性设置为实现此接口的对象。
下列术语经常用在与 IME 相关的 API 中:
- 对话是 IME 和应用程序之间的交互。在对话期间,对合成进行一次或多次更新,然后由用户进行确认。
- 合成标识由用户通过 IME 输入的文本;其中包括关联的输入状态信息,如选定的范围和任何子句的范围。
- 子句是可能共享语义信息的合成的范围,例如表示输入处于选定的状态还是转换的状态。合成可以不包含子句,也可以包含多个子句。
相关 API 元素
公共属性
属性 | 由以下参数定义 | ||
---|---|---|---|
compositionEndIndex : int [只读]
当前编辑会话文本(例如,未确认到文档中的内联会话中的所有文本)结尾的基于零的字符索引值。 | IIMEClient | ||
compositionStartIndex : int [只读]
当前编辑会话文本(例如,未确认到文档中的内联会话中的所有文本)开头的基于零的字符索引值。 | IIMEClient | ||
selectionActiveIndex : int [只读]
当前所选内容中最后一个字符从零开始的字符索引值。 | IIMEClient | ||
selectionAnchorIndex : int [只读]
当前所选内容中第一个字符从零开始的字符索引值。 | IIMEClient | ||
verticalTextLayout : Boolean [只读]
表示组件中的文本是否垂直。 | IIMEClient |
公共方法
方法 | 由以下参数定义 | ||
---|---|---|---|
使用此回调结束内联编辑会话并确认此文本。 | IIMEClient | ||
IME 使用此方法查询当前使用 IME 客户端编辑的文本的边框。 | IIMEClient | ||
从组件获取指定的文本范围。 | IIMEClient | ||
设置所选文本在组件中的范围。 | IIMEClient | ||
updateComposition(text:String, attributes:Vector.<CompositionAttributeRange>, compositionStartIndex:int, compositionEndIndex:int):void
用于更新内联编辑会话内容的回调。 | IIMEClient |
事件
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
当用户开始使用 IME(输入法编辑器)时调度。 | IIMEClient | |||
当用户输入文本时调度。 | IIMEClient |
属性详细信息
compositionEndIndex | 属性 |
compositionStartIndex | 属性 |
selectionActiveIndex | 属性 |
selectionAnchorIndex | 属性 |
verticalTextLayout | 属性 |
方法详细信息
confirmComposition | () | 方法 |
getTextBounds | () | 方法 |
public function getTextBounds(startIndex:int, endIndex:int):Rectangle
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
IME 使用此方法查询当前使用 IME 客户端编辑的文本的边框。当鼠标在文本字段或其他支持 IME 的组件上方时,使用此方法在 IME 客户端放置候选窗口并设置鼠标光标。
参数
startIndex:int — 一个整数,指定您测量的边框中的文本范围的起始位置。
| |
endIndex:int — 可选;一个整数,指定您测量的边框中的文本范围的结束位置。
|
Rectangle — 如果一个或两个索引都无效,则为指定的文本范围的边框或 null 。如果 startIndex 大于或小于 endIndex ,此方法返回相同的值。无论 startIndex 大于还是小于 endIndex ,都应返回相同的值。
|
getTextInRange | () | 方法 |
public function getTextInRange(startIndex:int, endIndex:int):String
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
从组件获取指定的文本范围。在 IME 再转换期间调用此方法。
参数
startIndex:int — 一个整数,指定要检索的文本范围的起始位置。
| |
endIndex:int — 一个整数,指定要检索的文本范围的结束位置。
|
String — 如果请求范围内无可用文本,或如果两个索引之一或两个索引都无效,则返回已请求文本或 null 。无论 startIndex 大于还是小于 endIndex ,都应返回同一个值。
|
selectRange | () | 方法 |
updateComposition | () | 方法 |
public function updateComposition(text:String, attributes:Vector.<CompositionAttributeRange>, compositionStartIndex:int, compositionEndIndex:int):void
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
用于更新内联编辑会话内容的回调。每当使用 IME 编辑的文本已更改且客户端将其内容用于重绘整个内联编辑会话时,调用此方法。
参数
text:String — 包含 IME 中的内联编辑会话的文本。
| |
attributes:Vector.<CompositionAttributeRange> — 包含使用修饰信息的合成子句的数组。
| |
compositionStartIndex:int — 相对于文本对象起点的内联会话的起点。
| |
compositionEndIndex:int — 相对于文本对象起点的内联会话的结尾。
|
事件详细信息
imeStartComposition | 事件 |
事件对象类型:
属性 IMEEvent.type =
flash.events.IMEEvent
属性 IMEEvent.type =
flash.events.IMEEvent.IME_START_COMPOSITION
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
当用户开始使用 IME(输入法编辑器)时调度。
要处理 IME 文本输入,接收方必须将事件的imeClient
字段设置为实现 IIMEClient 接口的对象。如果未设置 imeClient
,运行时会改用不一致的 IME 组合,并将最终组合作为 TEXT_INPUT 事件发送。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false ;没有要取消的默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | IME 对象。 |
textInput | 事件 |
事件对象类型:
属性 TextEvent.type =
flash.events.TextEvent
属性 TextEvent.type =
flash.events.TextEvent.TEXT_INPUT
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10.1, AIR 2 |
当用户输入文本时调度。对于 IME(输入法编辑器)客户端,接收方应在当前插入点处插入包含在事件对象的 text
属性中的字符串。
textInput
事件对象的 type
属性值。
注意:对于 Delete 或 Backspace 键不会调度此事件。
此事件具有以下属性:
属性 | 值 |
---|---|
bubbles | true |
cancelable | true ;调用 preventDefault() 方法以取消默认行为。 |
currentTarget | 当前正在使用某个事件侦听器处理 Event 对象的对象。 |
target | 在其中输入字符的文本字段。target 不一定是显示列表中注册此事件侦听器的对象。请使用 currentTarget 属性来访问显示列表中当前正在处理此事件的对象。 |
text | 用户输入的字符或字符序列。 |
Tue Jun 12 2018, 11:04 AM Z