本文共 2176 字,大约阅读时间需要 7 分钟。
正文
一、结构
public interface InputMethodSession
android.view.inputmethod. InputMethodSession
间接子类
,
二、概述
InputMethodSession接口提供给每个客户端的可安全地暴露在应用程序中。
应用程序通常不自己使用本接口,而是依靠和
提供的标准交互。
三、内部类
interface InputMethodSession.EventCallback
四、公共方法
public abstract void appPrivateCommand (String action, Bundle data)
执行由应用程序发往输入法的私有命令。它可用于提供专属域功能,仅专属于特定的输入法及其客户端
参数
action 执行命名的名称。它必须是一个域名称,如前缀你自己的包名称,这样不同的开发者就不产生命令冲突。
data 随命令包括的任何数据。
public abstract void dispatchKeyEvent (int seq, KeyEvent event, InputMethodSession.EventCallback callback)
当按键按下时调用此方法。完成事件时,本方法的实现方法必须调用callback回调函数并返回结果。
如果输入法处理此事件返回true,否则返回false,调用者(如应用程序)将处理事件。
参数
event 按键事件
返回值
输入法是否处理本事件。
参见
public abstract void dispatchTrackballEvent (int seq, MotionEvent event, InputMethodSession.EventCallback callback)
发生轨迹球事件时调用此方法。
如果输入法处理此事件返回true,否则返回false,调用者(如应用程序)将处理事件。
参数
event 移动事件
返回值
输入法是否处理本事件。
参见
public abstract void displayCompletions (CompletionInfo[] completions)
由文本编辑器调用自动补全,完成后通知输入法补全有效。可被用于输入法向用户显示备选文本以备插入。
参数
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)
当目标输入域的光标位置在自身窗口内移动时调用此方法。本方法通常不被调用,但输入法要求更新时可被调用。
参数
newCursor 当前输入区域窗口坐标系下光标显示的矩阵区域。
public abstract void updateExtractedText (int token, ExtractedText text)
当内容变化时文本编辑器调用此方法,通知其新提取文本。本方法仅在输入法调用并带有通报更新选项时才被调用。
参数
token 输入法提供了分辨要求的令牌。
text 新的提取文本。
public abstract void updateSelection (int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd)
当目标输入域的光标或选定变化时,调用此方法。
参数
oldSelStart 之前的选择开始位置相对于光标的文本偏移。
oldSelEnd 之前的选择结束位置相对于光标的文本偏移。
newSelStart 新的选择初始位置相对于光标的文本偏移。
newSelEnd 新的选择结束位置相对于光标的文本偏移。
candidatesStart 当前坐标系下文本文本开始位置的文本偏移。
candidatesEnd 当前坐标系下文本文本结束位置的文本偏移。
本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582428,如需转载请自行联系原作者