赞
踩
输入法 (IME) 是一种可让用户输入文本的用户控件。Android 提供了一种可扩展的输入法框架。借助该框架,应用可以为用户提供备选输入法,例如屏幕键盘,甚至语音输入。安装所需的 IME 后,用户可以从系统设置中选择要使用的 IME,并在整个系统中使用该 IME;同时只能启用一个 IME。
如要向 Android 系统添加 IME,您需要创建一个 Android 应用,其中包含一个扩展
本指南涵盖以下内容:
IME 生命周期
在应用清单中声明 IME 组件
IME API
设计 IME 界面
将文本从 IME 发送到应用
使用 IME 子类型
如果您以前没有处理过 IME,则应先阅读入门文章屏幕输入法。
注意:从 Android 11 开始,平台允许 IME 以内嵌方式(而不是使用下拉菜单)显示自动填充建议。如需详细了解自动填充服务如何支持此功能,请参阅将自动填充功能与键盘集成。
IME 生命周期
下图显示了 IME 的生命周期:
图 1. IME 的生命周期。
以下各部分介绍了如何实现与遵循此生命周期的 IME 相关联的界面和代码。
在清单中声明 IME 组件
在 Android 系统中,IME 是包含一项特殊 IME 服务的 Android 应用。
应用的清单文件必须声明该服务,请求必需的权限,提供一个与操作 action.view.InputMethod 匹配的 Intent 过滤器,并提供定义 IME 特征的元数据。此外,要提供可让用户修改 IME 行为的设置界面,您可以定义一个可通过系统设置启动的“设置”Activity。
以下代码段声明了一项 IME 服务。它请求了 android.view.InputMethod 操作匹配的 Intent 过滤器,并定义了 IME 的元数据:
android:label="@string/fast_input_label"
android:permission="android.permission.BIND_INPUT_METHOD">
android:resource="@xml/method" />
下面的代码段声明了 IME 的设置 Activity。它有一个适用于
android:label="@string/fast_input_settings">
您还可以让用户能够直接从 IME 界面访问 IME 设置。
输入法 API
IME 的核心部分是一个服务组件,即一个扩展
以下类也很重要:
定义从
用于呈现键盘和响应用户输入事件的
设计输入法界面
IME 有两个主要视觉元素:输入视图和候选视图。您只需要实现与您要设计的输入法相关的元素。
输入视图
输入视图是指用户以点击按键、手写或手势的形式输入文本的界面。当 IME 首次显示时,系统会调用
override fun onCreateInputView(): View {
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。