源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android的文本和输入之创建输入法教程

  • 时间:2022-04-17 21:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android的文本和输入之创建输入法教程
输入法编辑器(IME)是让用户输入文本的控件。Android提供了一个可扩展的的输入法的框架,它允许应用程序给用户提供另外的输入法,如软键盘或语音输入。这些输入法一旦安装,用户就可以从系统的设置中选择他们想要使用的IME,并且这个设置对整个系统都是有效的,每次只有一种输入法是可用的。 要在Android系统中添加一种输入法,你就要创建一个包含继承了InputMethodService类的类应用程序。另外,你通常还要创建一个“settings”Activity,把选项传递给IME服务。你还可以定义一个用于设置的UI,让它做为系统设置的一部分来显示。 [b]本文包含以下内容[/b]: 1. IME的生命周期。 2. 在应用程序的清单中声明IME组件; 3. IME API 4. 设计IME的UI 5. 从IME中把文本发送给应用程序 6. 使用IME子类型 [b]IME的生命周期[/b] 下图介绍IME的生命周期: [img]http://files.jb51.net/file_images/article/201212/2012122011284030.png[/img] 图1.IME的生命周期 下列章节介绍如何实现UI以及代码如何跟这个生命周期相关联。 [b]在清单中生命IME组件[/b] 在Android系统中,IME是一个包含了特殊IME服务的Android应用程序。应用程序的清单文件必须声明服务、申请必要的权限、提供跟action.view.InputMethod操作相匹配的Intent过滤器、以及定义IME的特性的元数据。另外,还要提供一个设置界面,允许用户用它来编辑IME的行为,你可以定义一个从系统设置中能够启动的“settings”的Activity。 以下清单片段声明了IME服务。它申请了允许把服务连接到系统的IME的BIND_INPUT_METHOD权限,建立了一个跟android.view.InputMethod操作相匹配的Intent过滤器,并且给IME定义了元数据:
[u]复制代码[/u] 代码如下:
<!-- 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应用程序的主入口:
[u]复制代码[/u] 代码如下:
<!-- 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设置的直接访问。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部