套件 | 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 | () | 方法 |
public function confirmComposition(text:String = null, preserveSelection:Boolean = false):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.1, AIR 2 |
使用這個回呼結束行內編輯工作階段並確認文字。
參數
text:String (default = null ) — 文字在行內工作階段 (確認的文字) 中的最後狀態。
| |
preserveSelection:Boolean (default = false ) — 當為 true 時,您不能重設目前選取範圍到確認文字的結尾。
|
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, 03:47 PM Z