Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> android 中文 api (87) —— BaseInputConnection

android 中文 api (87) —— BaseInputConnection

編輯:Android開發實例

前言

  本章內容是android.view.inputmethod.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全屏繪制

         全屏手寫輸入的筆跡獲取

         手寫輸入法實現過程中的問題

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved