Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android InputMethod 教程

Android InputMethod 教程

編輯:關於android開發

       結構
       繼承關系

       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    向要求顯示的客戶端通知結果。其結果可能為

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