public interface InputMethodSession
android.view.inputmethod.InputMethodSession |
Known Indirect Subclasses |
InputMethodSession接口提供了 InputMethod
的每个客户端功能,可以安全地向应用程序公开。
应用程序通常不会自己使用此接口,而是依赖于由 TextView
和 EditText
提供的标准交互。
Nested classes |
|
---|---|
interface |
InputMethodSession.EventCallback
|
Public methods |
|
---|---|
abstract void |
appPrivateCommand(String action, Bundle data) 处理从应用程序发送到输入法的私人命令。 |
abstract void |
dispatchGenericMotionEvent(int seq, MotionEvent event, InputMethodSession.EventCallback callback) 当存在通用运动事件时调用此方法。 |
abstract void |
dispatchKeyEvent(int seq, KeyEvent event, InputMethodSession.EventCallback callback) 当按下某个键时调用此方法。 |
abstract void |
dispatchTrackballEvent(int seq, MotionEvent event, InputMethodSession.EventCallback callback) 有轨迹球事件时调用此方法。 |
abstract void |
displayCompletions(CompletionInfo[] completions) 由执行自动完成的文本编辑器调用,以告诉输入方法它可用的完成。 |
abstract void |
finishInput() 当应用程序想停止接收文本输入时调用此方法。 |
abstract void |
toggleSoftInput(int showFlags, int hideFlags) 切换软输入窗口。 |
abstract void |
updateCursor(Rect newCursor) 当目标输入字段的光标位置在窗口内发生更改时调用此方法。 |
abstract void |
updateCursorAnchorInfo(CursorAnchorInfo cursorAnchorInfo) 当在屏幕上改变与文本输入相关的光标和/或字符位置时调用此方法。 |
abstract void |
updateExtractedText(int token, ExtractedText text) 由文本编辑器调用,以在其内容更改时报告新提取的文本。 |
abstract void |
updateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd) 当当前目标输入字段中的选择或光标发生更改时调用此方法。 |
abstract void |
viewClicked(boolean focusChanged) 当用户点击文本视图时调用此方法。 |
void appPrivateCommand (String action, Bundle data)
处理从应用程序发送到输入法的私人命令。 这可以用于提供特定于域的功能,这些功能仅在某些输入方法与其客户端之间已知。
Parameters | |
---|---|
action |
String : Name of the command to be performed. This must be a scoped name, i.e. prefixed with a package name you own, so that different developers will not create conflicting commands. |
data |
Bundle : Any data to include with the command. |
void dispatchGenericMotionEvent (int seq, MotionEvent event, InputMethodSession.EventCallback callback)
当存在通用运动事件时调用此方法。
如果输入方法想要处理此事件,则返回true,否则返回false,并且调用者(即应用程序)将处理该事件。
Parameters | |
---|---|
seq |
int
|
event |
MotionEvent : The motion event. |
callback |
InputMethodSession.EventCallback
|
Returns | |
---|---|
void |
Whether the input method wants to handle this event. |
也可以看看:
void dispatchKeyEvent (int seq, KeyEvent event, InputMethodSession.EventCallback callback)
当按下某个键时调用此方法。 在完成事件后,实现必须回调回调并得出结果。
如果输入方法想要处理此事件,则返回true,否则返回false,并且调用者(即应用程序)将处理该事件。
Parameters | |
---|---|
seq |
int
|
event |
KeyEvent : The key event. |
callback |
InputMethodSession.EventCallback
|
Returns | |
---|---|
void |
Whether the input method wants to handle this event. |
也可以看看:
void dispatchTrackballEvent (int seq, MotionEvent event, InputMethodSession.EventCallback callback)
有轨迹球事件时调用此方法。
如果输入方法想要处理此事件,则返回true,否则返回false,并且调用者(即应用程序)将处理该事件。
Parameters | |
---|---|
seq |
int
|
event |
MotionEvent : The motion event. |
callback |
InputMethodSession.EventCallback
|
Returns | |
---|---|
void |
Whether the input method wants to handle this event. |
也可以看看:
void displayCompletions (CompletionInfo[] completions)
由执行自动完成的文本编辑器调用,以告诉输入方法它可用的完成。 输入法可以使用它将它们显示给用户以选择要插入的文本。
Parameters | |
---|---|
completions |
CompletionInfo : Array of text completions that are available, starting with the best. If this array is null, any existing completions will be removed. |
void toggleSoftInput (int showFlags, int hideFlags)
切换软输入窗口。 应用程序可以切换软输入窗口的状态。
Parameters | |
---|---|
showFlags |
int : Provides additional operating flags. May be 0 or have the SHOW_IMPLICIT , SHOW_FORCED bit set. |
hideFlags |
int : Provides additional operating flags. May be 0 or have the HIDE_IMPLICIT_ONLY , HIDE_NOT_ALWAYS bit set. |
void updateCursor (Rect newCursor)
当目标输入字段的光标位置在窗口内发生更改时调用此方法。 这通常不会被调用,但只有在输入方法要求时才会被报告。
Parameters | |
---|---|
newCursor |
Rect : The rectangle of the cursor currently being shown in the input field's window coordinates. |
void updateCursorAnchorInfo (CursorAnchorInfo cursorAnchorInfo)
当在屏幕上改变与文本输入相关的光标和/或字符位置时调用此方法。 这不是默认调用的。 只有在输入法要求时才会报告。
Parameters | |
---|---|
cursorAnchorInfo |
CursorAnchorInfo : Positional information relevant to text input, such as text insertion point and composition string. |
void updateExtractedText (int token, ExtractedText text)
由文本编辑器调用,以在其内容更改时报告新提取的文本。 只有在输入方法调用InputConnection.getExtractedText()
并选择报告更新时才会调用此方法。
Parameters | |
---|---|
token |
int : The input method supplied token for identifying its request. |
text |
ExtractedText : The new extracted text. |
void updateSelection (int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd)
当当前目标输入字段中的选择或光标发生更改时调用此方法。
Parameters | |
---|---|
oldSelStart |
int : The previous text offset of the cursor selection start position. |
oldSelEnd |
int : The previous text offset of the cursor selection end position. |
newSelStart |
int : The new text offset of the cursor selection start position. |
newSelEnd |
int : The new text offset of the cursor selection end position. |
candidatesStart |
int : The text offset of the current candidate text start position. |
candidatesEnd |
int : The text offset of the current candidate text end position. |
void viewClicked (boolean focusChanged)
当用户点击文本视图时调用此方法。 IME不能依赖于被调用的方法,因为这不是原始IME协议的一部分,所以在此方法出现之前编写自定义文本编辑的应用程序不会调用IME来通知此交互。
Parameters | |
---|---|
focusChanged |
boolean : true if the user changed the focused view by this click. |