前言
本章內容是android.view.inputmethod.InputMethodSession,為IME相關章節,版本為Android 2.3 r1,翻譯來自"六必治",歡迎大家訪問他的部落格:http://www.cnblogs.com/zcmky/,再次感謝"六必治" !期待你加入Android API 中文的翻譯,聯絡我over140@gmail.com。
聲明
歡迎轉載,但請保留文章原始出處:)
部落格園:http://www.cnblogs.com/
Android中文翻譯組:http://code.taobao.org/project/view/404/
本文
一、結構
public interface InputMethodSession
android.view.inputmethod. InputMethodSession
間接子類
AbstractInputMethodService.AbstractInputMethodSessionImpl,InputMethodService.InputMethodSessionImpl
二、概述
InputMethodSession介面提供給每個用戶端的InputMethod
可安全地暴露在應用程式中。
應用程式通常不自己使用本介面,而是依靠TextView
和EditText
提供的標準互動。
三、內部類
interface InputMethodSession.EventCallback
四、公用方法
public abstract void appPrivateCommand (String action, Bundle data)
執行由應用程式發往IME的私人命令。它可用於提供專屬域功能,僅專屬於特定的IME及其用戶端
參數
action 執行命名的名稱。它必須是一個網域名稱稱,如首碼你自己的包名稱,這樣不同的開發人員就不產生命令衝突。
data 隨命令包括的任何資料。
public abstract void dispatchKeyEvent (int seq, KeyEvent event, InputMethodSession.EventCallback callback)
當按鍵按下時調用此方法。完成事件時,本方法的實現方法必須調用callback回呼函數並返回結果。
如果IME處理此事件返回true,否則返回false,調用者(如應用程式)將處理事件。
參數
event 按鍵事件
傳回值
IME是否處理本事件。
參見
ERROR(/#dispatchKeyUp)
KeyEvent
public abstract void dispatchTrackballEvent (int seq, MotionEvent event, InputMethodSession.EventCallback callback)
發生軌跡球事件時調用此方法。
如果IME處理此事件返回true,否則返回false,調用者(如應用程式)將處理事件。
參數
event 移動事件
傳回值
IME是否處理本事件。
參見
MotionEvent
public abstract void displayCompletions (CompletionInfo[] completions)
由文字編輯器調用自動補全,完成後通知IME補全有效。可被用於IME向使用者顯示備選文本以備插入。
參數
completions 補充文本數組有效,並以最佳結果開頭。如果數組為空白,存在的補充將被移除。
public abstract void finishInput ()
當應用程式要停止接收文字輸入時調用此方法。
public abstract void toggleSoftInput (int showFlags, int hideFlags)
切換軟鍵盤(soft input)視窗。應用程式能切換軟鍵盤(soft input)視窗
參數
showFlags 提供附加的操作標誌。可能為0或設定SHOW_IMPLICIT, SHOW_FORCED位。
hideFlags 提供附加的操作標誌。可能為0或設定HIDE_IMPLICIT_ONLY, HIDE_NOT_ALWAYS位。
public abstract void updateCursor (Rect newCursor)
當目標輸入欄位的游標位置在自身視窗內移動時調用此方法。本方法通常不被調用,但IME要求更新時可被調用。
參數
newCursor 當前輸入地區視窗座標系下游標顯示的矩陣地區。
public abstract void updateExtractedText (int token, ExtractedText text)
當內容變化時文字編輯器調用此方法,通知其新提取文本。本方法僅在IME調用InputConnection.getExtractedText()
並帶有通報更新選項時才被調用。
參數
token IME提供了分辨要求的令牌。
text 新的提取文本。
public abstract void updateSelection (int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd)
當目標輸入欄位的游標或選定變化時,調用此方法。
參數
oldSelStart 之前的選擇開始位置相對於游標的文本位移。
oldSelEnd 之前的選擇結束位置相對於游標的文本位移。
newSelStart 新的選擇初始位置相對於游標的文本位移。
newSelEnd 新的選擇結束位置相對於游標的文本位移。
candidatesStart 當前座標系下文本文本開始位置的文本位移。
candidatesEnd 當前座標系下文本文本結束位置的文本位移。
五、補充
文章連結
android 鍵盤的啟動關閉、顯示、隱藏及其 bug