返回介绍

BaseInputConnection

发布于 2025-03-09 17:00:24 字数 7134 浏览 0 评论 0 收藏 0

BaseInputConnection

版本:Android 2.3 r1

结构

继承关系

public class BaseInputConnection extends Object implements InputConnection

java.lang.Object

android.view.inputmethod.BaseInputConnection

类概述

InputConnection 接口实现的基类,注意大多数行为提供的是 Editable 联接。本类的实现一定要实现 getEditable() 提供对它们自己的可编辑对象的访问。

公共方法

public boolean beginBatchEdit ()

缺省实现什么也不做。

public boolean clearMetaKeyStates (int states)

缺省实现用 MetaKeyKeyListener.clearMetaKeyState(long, int) 来清除状态。

参数

states 要清除的状态,每个 KeyEvent.getMetaState() 中可能是 1 或个状态。

返回值

成功返回 true,输入连接无效时返回 false。

public boolean commitCompletion (CompletionInfo text)

缺省实现什么也不做。

参数

text 提交的完成。

返回值

成功返回 true,输入连接无效时返回 false。

public boolean commitText (CharSequence text, int newCursorPosition)

缺省实现将用给出的文本替代正在构建的文本。另外在虚拟状态时,将发送包含新文本的按键事件并清空可编辑控件的缓存。

参数

text 提交的文本。

newCursorPosition 文本范围内新光标位置。如> 0,从文本未尾-1 起计算;如<= 0,从文本起始处计算。所以是 1 时总是在刚插入文本之后。注意这意味着你不能将位置定义在文本中,因为编辑器可以修改你提交的文本,所以无必要将光标定位在文本中。

返回值

成功返回 true,输入连接无效时返回 false。

public boolean deleteSurroundingText (int leftLength, int rightLength)

缺省实现将删除当前光标位置附近的可编辑文本。

参数

leftLength 删除文本在当前光标位置前的字符数

rightLength 删除文本在当前光标位置后的字符数。

返回值

成功返回 true,输入连接无效时返回 false。。

public boolean endBatchEdit ()

缺省实现什么也不做。

public boolean finishComposingText ()

缺省实现将用给定的文本替代正在构建的文本。另外在虚拟状态时,将发送包含新文本的按键事件并清空可编辑控件的缓存。

public static int getComposingSpanEnd (Spannable text)

public static int getComposingSpanStart (Spannable text)

public int getCursorCapsMode (int reqModes)

缺省实现时,由 TextUtils.getCapsMode 返回当前可编辑文本的选定文本的光标大小写状态,虚拟状态时总是返回 0。

参数

reqModes 依据 TextUtils.getCapsMode 定义取得期望的状态。通过已定义的常数,你可以轻易地传递 TextBoxAttribute.contentType 当前。

返回值

返回当前有效的大小写状态。

public Editable getEditable ()

返回编辑操作的目标。缺省的实现是返回自己的虚拟可编辑控件,子类须重载一个可编辑控件并提供给它自己。

public ExtractedText getExtractedText (ExtractedTextRequest request, int flags)

缺省实现总是返回空。

参数

request 描述如何返回文本。

flags 额外的客户端控制选项,0 或 GET_EXTRACTED_TEXT_MONITOR

返回值

返回 ExtractedText 对象描述文本视窗的状态并包含提取文本的本身。

public CharSequence getSelectedText (int flags)

缺省实现是返回当前选择文本,没有选取则为空。

参数

flags 额外选项控制文本如何返回,可能为 0 或 GET_TEXT_WITH_STYLES

返回值

返回当前选择文本,没有选取则为空。

public CharSequence getTextAfterCursor (int length, int flags)

缺省的实现是返回缓存中当前光标位置后给定数量的文本。

参数

length 期望的文本长度。

flags 如何返回文本的额外控制。可能为 0 或 GET_TEXT_WITH_STYLES

返回值

返回光标位置后的文本,返回文本的长度可能小于 n。

public CharSequence getTextBeforeCursor (int length, int flags)

缺省的实现是返回缓存中当前光标位置前给定数量的文本。

参数

length 期望的文本长度。

flags 如何返回文本的额外控制。可能为 0 或 GET_TEXT_WITH_STYLES

返回值

返回光标位置前的文本,返回文本的长度可能小于 n。

public boolean performContextMenuAction (int id)

缺省实现是什么也不做。

public boolean performEditorAction (int actionCode)

缺省实现将其发送至返回键(enter key)。

参数

actionCode 必须是 EditorInfo.editorType 中一常量之一,如 EditorInfo.EDITOR_ACTION_GO

返回值

成功返回 true,输入连接无效时返回 false。

public boolean performPrivateCommand (String action, Bundle data)

缺省实现是什么也不做。

参数

action 执行的命令名称。必须是作用域的名称(译者注:带包名,如”com.test.Command”),如以你自己的包名称前缀,这样不同的开发者就不会创建产生冲突的命令。

data 命令中的数据。

返回值

命令发送返回 true(无论相关的编辑器是否理解它),如输入连接无效返回 false。

public static final void removeComposingSpans (Spannable text)

public boolean reportFullscreenMode (boolean enabled)

以当前的全屏模式更新 InputMethodManager。

public boolean sendKeyEvent (KeyEvent event)

提供窗口附属输入连接视窗的发送按键事件的标准实现。

参数

event 按键事件。

返回值

成功返回 true,输入连接无效时返回 false。

public boolean setComposingRegion (int start, int end)

将特定区域标记为正在构建文本。任何以前设置的正在构建文本自动清除。正在构建文本应用缺省样式。

参数

start 文本中正在构建区域开始位置。

end 文本中正在构建区域结束位置。

返回值

成功返回 true,输入连接无效时返回 false。

public static void setComposingSpans (Spannable text)

public boolean setComposingText (CharSequence text, int newCursorPosition).

缺省实现是将给定文本置入可编辑文本,替代任何正在构建文本。新文本标记为正在构建文本并应用构建样式。

参数

text 正在构建文本,如必要应用样式。如文本无附属样式,将正在构建文本应用缺省样式。参见 how to attach style object to the text。{#link android.text.SpannableString} 和{#link android.text.SpannableStringBuilder}是实现的接口。

newCursorPosition 文本范围内新光标位置。如> 0,从文本未尾-1 起计算;如<= 0,从文本起始处计算。所以是 1 时总是在刚插入文本之后。注意这意味着你不能将位置定义在文本中,因为编辑器可以修改你提交的文本,所以无必要将光标定位在文本中。

返回值

成功返回 true,输入连接无效时返回 false。

public boolean setSelection (int start, int end)

缺省实现是在当前可编辑文本中改变选取的位置。

返回值

成功返回 true,输入连接无效时返回 false。

补充

文章链接

Android 全屏绘制

全屏手写输入的笔迹获取

手写输入法实现过程中的问题

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文