Android的文本和輸入之建立IME教程

來源:互聯網
上載者:User

輸入法(IME)是讓使用者輸入文本的控制項。Android提供了一個可擴充的的IME的架構,它允許應用程式給使用者提供另外的IME,如軟鍵盤或語音輸入。這些IME一旦安裝,使用者就可以從系統的設定中選擇他們想要使用的IME,並且這個設定對整個系統都是有效,每次只有一種IME是可用的。

要在Android系統中添加一種IME,你就要建立一個包含繼承了InputMethodService類的類應用程式。另外,你通常還要建立一個“settings”Activity,把選項傳遞給IME服務。你還可以定義一個用於設定的UI,讓它做為系統設定的一部分來顯示。

本文包含以下內容

1. IME的生命週期。

2. 在應用程式的清單中聲明IME組件;

3. IME API

4. 設計IME的UI

5. 從IME中把文本發送給應用程式

6. 使用IME子類型

IME的生命週期

介紹IME的生命週期:

圖1.IME的生命週期

下列章節介紹如何?UI以及代碼如何跟這個生命週期相關聯。

在清單中生命IME組件

在Android系統中,IME是一個包含了特殊IME服務的Android應用程式。應用程式的資訊清單檔必須聲明服務、申請必要的許可權、提供跟action.view.InputMethod操作相匹配的Intent過濾器、以及定義IME的特性的中繼資料。另外,還要提供一個設定介面,允許使用者用它來編輯IME的行為,你可以定義一個從系統設定中能夠啟動的“settings”的Activity。

以下清單片段聲明了IME服務。它申請了允許把服務串連到系統的IME的BIND_INPUT_METHOD許可權,建立了一個跟android.view.InputMethod操作相匹配的Intent過濾器,並且給IME定義了中繼資料:

複製代碼 代碼如下:<!-- Declares the input method service -->
<service android:name="FastInputIME"
android:label="@string/fast_input_label"
android:permission="android.permission.BIND_INPUT_METHOD">
<intent-filter>
<action android:name="android.view.InputMethod" />
</intent-filter>
<meta-data android:name="android.view.im" android:resource="@xml/method" />
</service>

接下來給IME聲明了用於設定的Activity。它有一個ACTION_MAIN類型的Intent過濾器,這指明了該Activity是IME應用程式的主入口:複製代碼 代碼如下:<!-- Optional: an activity for controlling the IME settings -->
<activity android:name="FastInputIMESettings"
android:label="@string/fast_input_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>

你還可以在這個設定的UI中提供對IME設定的直接存取。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.