android 输入法字典_Android输入法开发

输入法编辑器(IME)是一个便于用户输入文本的控件。Android提供了一个可扩展的输入法框架,允许应用程序提供可替代的输入法,比如屏幕上的键盘或者语音输入。在安装输入法后,用户可以通过系统选项选择想要使用的输入法。

想要添加一个输入法,你需要创建一个Android应用并包含一个继承自InputMethodService的类。此外,同城创建一个设置页面来承载输入发的各个选项。你可以自行定义一个设置的UI。

下面讲述以下几个内容:

输入法的生命周期

在应用的清单文件中定义输入法组件

输入法相关接口

设计一个款输入法的UI

发送文本到应用

输入法子类型的使用

一、输入法的生命周期

输入法的生命周期如下图所示:

20170206170754535.png

二、在清单文件中定义输入法组件

在Android系统中,IME是一个包含特殊IME服务的应用程序。应用的清单文件必须声明输入法服务,请求必须的权限,提供一个intent filter来匹配 action.view.InputMethod,并提供定义了IME特征的元数据(metadata)。此外,可以定义一个设置页面来提供用户修改IME配置的接口,它可以被系统设置所启动。

下面的代码片段声明了一个IME服务。请求了 BIND_INPUT_METHOD 权限来允许服务连接到系统的IME,建立intent filter和metadata:

android:label="@string/fast_input_label"

android:permission="android.permission.BIND_INPUT_METHOD">

android:resource="@xml/method" />

下面的代码片段声明了IME的设置页面,它拥有 ACTION_MAIN 的intent filter来表示它是IME程序的主入口

android:label="@string/fast_input_settings">

也可以从IME的UI提供直接进入设置的入口。

三、输入法API

与IME相关的类在 android.inputmethodservice 和 android.view.inputmethod 包中。KeyEvent 类对于处理键盘特征至关重要。

IME的核心部分是一个服务组件,即一个继承自InputMethodService的类。此外为了实现一般服务的生命周期,这个类提供了IME的UI,处理用户输入和传输文本到指定区域以及当前焦点的回调。InputMethodService类提供了绝大多数管理IME状态和与当前输入区域交互的实现。

下面几个类也很重要。

BaseInputConnection

定义了输入法和应用之间接收输入的交互通道。使用它来读取光标周围的文本,提交文本到输入框以及发送键盘事件给应用。应用应该集成此类。

KeyboardView

一个View的扩展,描绘了一个键盘和用户输入事件的响应。键盘的布局是被Keyboard的实例指定,可以定义一个XML文件。

<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值