android 中文 api (87) —— BaseInputConnection

简介:

前言

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

 

声明

  欢迎转载,但请保留文章原始出处:) 

    博客园:http://www.cnblogs.com/

    Android中文翻译组:http://goo.gl/6vJQl

 

正文

  一、结构

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        额外的客户端控制选项,0GET_EXTRACTED_TEXT_MONITOR

返回值

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

 

public CharSequence getSelectedText (int flags)

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

参数

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

返回值

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

 

public CharSequence getTextAfterCursor (int length, int flags)

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

参数

length     期望的文本长度。

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

返回值

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

 

public CharSequence getTextBeforeCursor (int length, int flags)

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

参数

length     期望的文本长度。

flags        如何返回文本的额外控制。可能为0GET_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


转自:http://www.cnblogs.com/over140/archive/2011/01/12/1933468.html

目录
相关文章
|
8月前
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
225 0
|
7月前
|
API Android开发
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
mPaaS(移动跨平台框架)目前已经支持了Android API级别21
106 2
|
8月前
|
API 数据库 Android开发
Android SQLite数据库中基础的增删改查操作以及API的详解
Android SQLite数据库中基础的增删改查操作以及API的详解
65 0
|
10月前
|
API Android开发
Android Activity Result API
Android Activity Result API
98 0
|
11月前
|
Java API Android开发
Sui为根应用提供Java APIs,滴API。主要提供直接使用Android APIs的能力(几乎以Java作为root的身份
Sui为根应用提供Java APIs,滴API。主要提供直接使用Android APIs的能力(几乎以Java作为root的身份,在root下启动app自己的AIDL风格的Java服务。这将使root应用程序开发变得更加容易。
142 0
|
12月前
|
缓存 Java API
Android音频API
MediaRecorder与MediaPlayer并不能算完整意义的音频API,它们只是系统音频API的封装,除了采集/播放,他们集成了编码/解码、复用/解复用等能力。它们在最底层还是调用了AudioRecorder、AudioTrack。下面主要介绍它们的几个主要的配置项。
357 0
|
Ubuntu Java Shell
Android使用FFmpeg的API库
Android使用FFmpeg的API库
293 1
|
10天前
|
缓存 前端开发 API
API接口封装系列
API(Application Programming Interface)接口封装是将系统内部的功能封装成可复用的程序接口并向外部提供,以便其他系统调用和使用这些功能,通过这种方式实现系统之间的通信和协作。下面将介绍API接口封装的一些关键步骤和注意事项。