Android InputMethod 教程
結構
繼承關係
public interface InputMethod extends Object
android.view.inputmethod.InputMethod
類概述
InputMethod 介面代表了輸入法,它可生成按鍵事件,生成文字,如數字,email 地址,CJK字元,其它語言字元等等。在處理輸入事件時,將文字返回至需要文字輸入的應用程式。InputMethodManager 可得到更多關於架構的資訊。應用程式通常不使用這個介面本身,而是依靠TextView和EditText提供的標準互動。輸入法實現通常為 InputMethodService 及其子類的派生。在實現輸入法時,包含它的服務控制元件必須提供 SERVICE_META_DATA 後設資料欄位,該後設資料欄位聯接至一包含輸入法細節的XML資源。所有輸入法也必定要求客戶端包含 BIND_INPUT_METHOD 以便與服務控制元件互動。如果不這樣,系統將無法使用輸入法,因其無法確認是否完整。InputMethod 介面實際上分為兩部分:介面是輸入法的最高階介面,提供所有的訪問,
只有系統能訪問(需要 BIND_INPUT_METHOD 許可權)。另外呼叫方法createSession(android.view.inputmethod.InputMethod.SessionCallback)可例項化,InputMethodSession 副介面,用於與客戶端通訊。
內部類
interface InputMethod.SessionCallback
常量
public static final String SERVICE_INTERFACE
介面名字,實現輸入法的服務應說明它支援輸入法,也就是它將用於意向過濾器(intent filter)。服務還需要BIND_INPUT_METHOD 許可權,這樣應用程式不會濫用它。
常量值: "android.view.InputMethod"
public static final String SERVICE_META_DATA
輸入法通過此名字釋出其自身資訊。此後設資料必須引用一個包含< input-method>標籤的XML 資源。
常量值: "android.view.im"
public static final int SHOW_EXPLICIT
用於showSoftInput(int, ResultReceiver)的標誌:它表示使用者顯式地要求其(軟鍵盤)顯示。如果沒有設定,系統決定可能是一個好主意,顯示輸入法在使用者介面上的導航操作。
常量值: 1 (0x00000001)
public static final int SHOW_FORCED
標誌用於 showSoftInput(int, ResultReceiver):表明使用者強制其(軟鍵盤)顯示。如設定,輸入法保持可見直至使用者在 UI 上取消。
常量值: 2 (0x00000002)
公共方法
public abstract void attachToken (IBinder token)
輸入法建立後首先被呼叫,它提供一個與系統服務會話的唯一令牌。它需要通過服務識別輸入法從而驗證其操作。令牌不能傳遞給應用程式,因其取得了應用程式不應得到的特殊許可權。
注意:為避免惡意客戶端傷害,你應只接收第一個令牌。其後可能來自客戶端。
public abstract void bindInput (InputBinding binding)
將輸入法與新的應用程式環境繫結,以便稍後啟動、停止輸入處理。通常在應用程式第一次啟用輸入法時呼叫此方法。
引數
binding與輸入法繫結的應用程式視窗資訊。
參見
InputBinding
unbindInput()
public abstract void createSession (InputMethod.SessionCallback callback)
建立一個新的 InputMethodSession,它可處理客戶應用程式與輸入法的互動。你可以隨後用 revokeSession(InputMethodSession)銷燬會話,這樣就不會有任何客戶端使用它。
引數
callback 新建立會話呼叫的介面。
public abstract void hideSoftInput (int flags, ResultReceiver resultReceiver)
將輸入法的軟鍵盤(soft input)部分對使用者隱藏。
引數
flags 顯示要求的附加資訊。當前總是 0。
resultReceiver 向要求顯示的客戶端通知結果。其結果可能為
繼承關係
public interface InputMethod extends Object
android.view.inputmethod.InputMethod
類概述
InputMethod 介面代表了輸入法,它可生成按鍵事件,生成文字,如數字,email 地址,CJK字元,其它語言字元等等。在處理輸入事件時,將文字返回至需要文字輸入的應用程式。InputMethodManager 可得到更多關於架構的資訊。應用程式通常不使用這個介面本身,而是依靠TextView和EditText提供的標準互動。輸入法實現通常為 InputMethodService 及其子類的派生。在實現輸入法時,包含它的服務控制元件必須提供 SERVICE_META_DATA 後設資料欄位,該後設資料欄位聯接至一包含輸入法細節的XML資源。所有輸入法也必定要求客戶端包含 BIND_INPUT_METHOD 以便與服務控制元件互動。如果不這樣,系統將無法使用輸入法,因其無法確認是否完整。InputMethod 介面實際上分為兩部分:介面是輸入法的最高階介面,提供所有的訪問,
只有系統能訪問(需要 BIND_INPUT_METHOD 許可權)。另外呼叫方法createSession(android.view.inputmethod.InputMethod.SessionCallback)可例項化,InputMethodSession 副介面,用於與客戶端通訊。
內部類
interface InputMethod.SessionCallback
常量
public static final String SERVICE_INTERFACE
介面名字,實現輸入法的服務應說明它支援輸入法,也就是它將用於意向過濾器(intent filter)。服務還需要BIND_INPUT_METHOD 許可權,這樣應用程式不會濫用它。
常量值: "android.view.InputMethod"
public static final String SERVICE_META_DATA
輸入法通過此名字釋出其自身資訊。此後設資料必須引用一個包含< input-method>標籤的XML 資源。
常量值: "android.view.im"
public static final int SHOW_EXPLICIT
用於showSoftInput(int, ResultReceiver)的標誌:它表示使用者顯式地要求其(軟鍵盤)顯示。如果沒有設定,系統決定可能是一個好主意,顯示輸入法在使用者介面上的導航操作。
常量值: 1 (0x00000001)
public static final int SHOW_FORCED
標誌用於 showSoftInput(int, ResultReceiver):表明使用者強制其(軟鍵盤)顯示。如設定,輸入法保持可見直至使用者在 UI 上取消。
常量值: 2 (0x00000002)
公共方法
public abstract void attachToken (IBinder token)
輸入法建立後首先被呼叫,它提供一個與系統服務會話的唯一令牌。它需要通過服務識別輸入法從而驗證其操作。令牌不能傳遞給應用程式,因其取得了應用程式不應得到的特殊許可權。
注意:為避免惡意客戶端傷害,你應只接收第一個令牌。其後可能來自客戶端。
public abstract void bindInput (InputBinding binding)
將輸入法與新的應用程式環境繫結,以便稍後啟動、停止輸入處理。通常在應用程式第一次啟用輸入法時呼叫此方法。
引數
binding與輸入法繫結的應用程式視窗資訊。
參見
InputBinding
unbindInput()
public abstract void createSession (InputMethod.SessionCallback callback)
建立一個新的 InputMethodSession,它可處理客戶應用程式與輸入法的互動。你可以隨後用 revokeSession(InputMethodSession)銷燬會話,這樣就不會有任何客戶端使用它。
引數
callback 新建立會話呼叫的介面。
public abstract void hideSoftInput (int flags, ResultReceiver resultReceiver)
將輸入法的軟鍵盤(soft input)部分對使用者隱藏。
引數
flags 顯示要求的附加資訊。當前總是 0。
resultReceiver 向要求顯示的客戶端通知結果。其結果可能為
相關文章
- Android SwipeRefreshLayout教程Android
- Android UI教程:概述AndroidUI
- Android視訊教程Android
- android加密解密完美教程Android加密解密
- Android 系列教程 彙總Android
- Android模糊影象教程(2)Android
- Android模糊影象教程(3)Android
- Android模糊影像教程(2)Android
- Android模糊影象教程(1)Android
- Android模糊影像教程(1)Android
- Android模糊影象教程(4)Android
- Android模糊影象教程(5)Android
- Android模糊影像教程(5)Android
- Android Jetpack - Android TV 應用開發教程AndroidJetpack
- Android 視訊教程下載Android
- Realm for Android快速入門教程Android
- Android SQLite快速入門教程AndroidSQLite
- Android Studio 權威教程Android
- Windows Subsystem for Android™ 安裝教程WindowsAndroid
- Android開發簡單教程.docAndroid
- Android SMSSDK非Gradle整合教程AndroidGradle
- Android教程 如何免費使用SMSSDKAndroid
- 【Android Jetpack教程】ViewModel原理分析AndroidJetpackView
- Android動態高斯模糊效果教程Android
- 詳細Fildder抓包Android教程Android
- 【QMUI教程】 Android Theme的使用UIAndroid
- Android開源庫——EventBus使用教程Android
- Android過場動畫基礎教程Android動畫
- Android Studio 視訊教程地址Android
- android studio安裝教程|android studio漢化包Android
- Xamarin Android教程如何使用Xamarin開發Android應用Android
- Mac中編譯FFmpeg教程(Android版)Mac編譯Android
- 在 Android 使用 QuickJS JavaScript 引擎教程AndroidUIJSJavaScript
- Android SpannableString和SpannableStringBuilder教程AndroidUI
- Android的開發環境搭建教程Android開發環境
- Android入門教程 | SharedPreferences 簡介Android
- Android入門教程 | 多執行緒Android執行緒
- Android入門教程 | AsyncTask 使用介紹Android