?
このドキュメントでは、 php中國語ネットマニュアル リリース
BaseInputConnection
版本:Android 2.3 r1
?
結(jié)構(gòu)
繼承關(guān)系
public class BaseInputConnection extends Object implements InputConnection
????????
java.lang.Object
android.view.inputmethod.BaseInputConnection
?
類概述
???????? InputConnection接口實現(xiàn)的基類,注意大多數(shù)行為提供的是Editable聯(lián)接。本類的實現(xiàn)一定要實現(xiàn)getEditable()
提供對它們自己的可編輯對象的訪問。
?
公共方法
public boolean beginBatchEdit ()
缺省實現(xiàn)什么也不做。
?
public boolean clearMetaKeyStates (int states)
缺省實現(xiàn)用MetaKeyKeyListener.clearMetaKeyState(long,
int)
來清除狀態(tài)。
參數(shù)
states ??? 要清除的狀態(tài),每個KeyEvent.getMetaState()
中可能是1或個狀態(tài)。
返回值
成功返回true,輸入連接無效時返回false。
?
public boolean commitCompletion (CompletionInfo text)
缺省實現(xiàn)什么也不做。
參數(shù)
text ???????? 提交的完成。
返回值
??? ?????????????????? 成功返回true,輸入連接無效時返回false。
?
public boolean commitText (CharSequence text, int newCursorPosition)
缺省實現(xiàn)將用給出的文本替代正在構(gòu)建的文本。另外在虛擬狀態(tài)時,將發(fā)送包含新文本的按鍵事件并清空可編輯控件的緩存。
參數(shù)
text ???????? 提交的文本。
newCursorPosition ???????? 文本范圍內(nèi)新光標位置。如> 0,從文本未尾-1起計算;如<= 0,從文本起始處計算。所以是1時總是在剛插入文本之后。注意這意味著你不能將位置定義在文本中,因為編輯器可以修改你提交的文本,所以無必要將光標定位在文本中。
返回值
成功返回true,輸入連接無效時返回false。
?
public boolean deleteSurroundingText (int leftLength, int rightLength)
缺省實現(xiàn)將刪除當(dāng)前光標位置附近的可編輯文本。
參數(shù)
leftLength ????? 刪除文本在當(dāng)前光標位置前的字符數(shù)
rightLength ??? 刪除文本在當(dāng)前光標位置后的字符數(shù)。
返回值
成功返回true,輸入連接無效時返回false。。
?
public boolean endBatchEdit ()
缺省實現(xiàn)什么也不做。
?
public boolean finishComposingText ()
缺省實現(xiàn)將用給定的文本替代正在構(gòu)建的文本。另外在虛擬狀態(tài)時,將發(fā)送包含新文本的按鍵事件并清空可編輯控件的緩存。
?
public static int getComposingSpanEnd (Spannable text)
?
public static int getComposingSpanStart (Spannable text)
?
public int getCursorCapsMode (int reqModes)
缺省實現(xiàn)時,由TextUtils.getCapsMode返回當(dāng)前可編輯文本的選定文本的光標大小寫狀態(tài),虛擬狀態(tài)時總是返回0。
參數(shù)
reqModes ????? 依據(jù)TextUtils.getCapsMode
的
定義取得期望的狀態(tài)。通過已定義的常數(shù),你可以輕易地傳遞TextBoxAttribute.contentType
到
當(dāng)前。
返回值
返回當(dāng)前有效的大小寫狀態(tài)。
?
public Editable getEditable ()
返回編輯操作的目標。缺省的實現(xiàn)是返回自己的虛擬可編輯控件,子類須重載一個可編輯控件并提供給它自己。
?
public ExtractedText getExtractedText (ExtractedTextRequest request, int flags)
缺省實現(xiàn)總是返回空。
參數(shù)
request ? 描述如何返回文本。
flags ?????? 額外的客戶端控制選項,0或GET_EXTRACTED_TEXT_MONITOR
。
返回值
返回ExtractedText對象描述文本視窗的狀態(tài)并包含提取文本的本身。
?
public CharSequence getSelectedText (int flags)
缺省實現(xiàn)是返回當(dāng)前選擇文本,沒有選取則為空。
參數(shù)
flags ?????? 額外選項控制文本如何返回,可能為0或GET_TEXT_WITH_STYLES
。
返回值
返回當(dāng)前選擇文本,沒有選取則為空。
?
public CharSequence getTextAfterCursor (int length, int flags)
缺省的實現(xiàn)是返回緩存中當(dāng)前光標位置后給定數(shù)量的文本。
參數(shù)
length ??? 期望的文本長度。
flags ?????? 如何返回文本的額外控制??赡転?/span>0或GET_TEXT_WITH_STYLES
。
返回值
返回光標位置后的文本,返回文本的長度可能小于n。
?
public CharSequence getTextBeforeCursor (int length, int flags)
缺省的實現(xiàn)是返回緩存中當(dāng)前光標位置前給定數(shù)量的文本。
參數(shù)
length ??? 期望的文本長度。
flags ?????? 如何返回文本的額外控制??赡転?/span>0或GET_TEXT_WITH_STYLES
。
返回值
返回光標位置前的文本,返回文本的長度可能小于n。
?
public boolean performContextMenuAction (int id)
缺省實現(xiàn)是什么也不做。
?
public boolean performEditorAction (int actionCode)
缺省實現(xiàn)將其發(fā)送至返回鍵(enter key)。
參數(shù)
actionCode ??? 必須是EditorInfo.editorType
中一常量之一,如EditorInfo.EDITOR_ACTION_GO
。
返回值
成功返回true,輸入連接無效時返回false。
?
public boolean performPrivateCommand (String action, Bundle data)
缺省實現(xiàn)是什么也不做。
參數(shù)
action ???? 執(zhí)行的命令名稱。必須是作用域的名稱(譯者注:帶包名,如”com.test.Command”),如以你自己的包名稱前綴,這樣不同的開發(fā)者就不會創(chuàng)建產(chǎn)生沖突的命令。
data ??????? 命令中的數(shù)據(jù)。
返回值
命令發(fā)送返回true(無論相關(guān)的編輯器是否理解它),如輸入連接無效返回false。
?
public static final void removeComposingSpans (Spannable text)
?
public boolean reportFullscreenMode (boolean enabled)
以當(dāng)前的全屏模式更新InputMethodManager。
?
public boolean sendKeyEvent (KeyEvent event)
提供窗口附屬輸入連接視窗的發(fā)送按鍵事件的標準實現(xiàn)。
參數(shù)
event ????? 按鍵事件。
返回值
成功返回true,輸入連接無效時返回false。
?
public boolean setComposingRegion (int start, int end)
將特定區(qū)域標記為正在構(gòu)建文本。任何以前設(shè)置的正在構(gòu)建文本自動清除。正在構(gòu)建文本應(yīng)用缺省樣式。
參數(shù)
start ?????? 文本中正在構(gòu)建區(qū)域開始位置。
end ???????? 文本中正在構(gòu)建區(qū)域結(jié)束位置。
返回值
成功返回true,輸入連接無效時返回false。
?
public static void setComposingSpans (Spannable text)
?
public boolean setComposingText (CharSequence text, int newCursorPosition).
缺省實現(xiàn)是將給定文本置入可編輯文本,替代任何正在構(gòu)建文本。新文本標記為正在構(gòu)建文本并應(yīng)用構(gòu)建樣式。
參數(shù)
text ???????? 正在構(gòu)建文本,如必要應(yīng)用樣式。如文本無附屬樣式,將正在構(gòu)建文本應(yīng)用缺省樣式。參見how to attach style object to the text。{#link android.text.SpannableString} 和{#link android.text.SpannableStringBuilder}是實現(xiàn)的接口。
newCursorPosition ???????? 文本范圍內(nèi)新光標位置。如> 0,從文本未尾-1起計算;如<= 0,從文本起始處計算。所以是1時總是在剛插入文本之后。注意這意味著你不能將位置定義在文本中,因為編輯器可以修改你提交的文本,所以無必要將光標定位在文本中。
返回值
成功返回true,輸入連接無效時返回false。
?
public boolean setSelection (int start, int end)
缺省實現(xiàn)是在當(dāng)前可編輯文本中改變選取的位置。
返回值
成功返回true,輸入連接無效時返回false。
?
補充
文章鏈接
???????? Android全屏繪制
???????? 全屏手寫輸入的筆跡獲取
???????? 手寫輸入法實現(xiàn)過程中的問題