android输入法(6)–InputMethodSession

前言
本章内容是Android.view.inputmethod.InputMethodSession,为输入法相关章节,版本为Android 2.3 r1,翻译来自”六必治”,欢迎大家访问他的博客:http://www.cnblogs.com/zcmky/,再次感谢”六必治” !期待你加入Android API 中文的翻译,联系我over140@gmail.com。

声明
欢迎转载,但请保留文章原始出处:
移动社区:http://dev.10086.cn
Android中文翻译组:http://code.taobao.org/project/view/404/

正文
一、结构
public interface InputMethodSession

android.view.inputmethod. InputMethodSession

间接子类
AbstractInputMethodService.AbstractInputMethodSessionImpl,InputMethodService.InputMethodSessionImpl

二、概述
InputMethodSession接口提供给每个客户端的InputMethod可安全地暴露在应用程序中。
应用程序通常不自己使用本接口,而是依靠TextViewEditText提供的标准交互。

三、内部类
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       按键事件
返回值
输入法是否处理本事件。
参见
ERROR(/#dispatchKeyUp)
KeyEvent

public abstract void dispatchTrackballEvent(int seq, MotionEvent event, InputMethodSession.EventCallback callback)
发生轨迹球事件时调用此方法。
如果输入法处理此事件返回true,否则返回false,调用者(如应用程序)将处理事件。
参数
event       移动事件
返回值
输入法是否处理本事件。
参见
MotionEvent

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)
当内容变化时文本编辑器调用此方法,通知其新提取文本。本方法仅在输入法调用InputConnection.getExtractedText()并带有通报更新选项时才被调用。
参数
token       输入法提供了分辨要求的令牌。
text          新的提取文本。

public abstract void updateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd)
当目标输入域的光标或选定变化时,调用此方法。
参数
oldSelStart      之前的选择开始位置相对于光标的文本偏移。
oldSelEnd         之前的选择结束位置相对于光标的文本偏移。
newSelStart    新的选择初始位置相对于光标的文本偏移。
newSelEnd      新的选择结束位置相对于光标的文本偏移。
candidatesStart      当前坐标系下文本文本开始位置的文本偏移。
candidatesEnd        当前坐标系下文本文本结束位置的文本偏移。

0 条评论
发表一条评论

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。