lightbulb_outline Please take our October 2018 developer survey. Start survey

创建输入法编辑器

通过扩展 Android 输入法编辑器 (IME) 框架,Android Wear 添加了对语音以外的输入法的支持。IME 框架可为虚拟屏幕键盘(允许用户以点击键盘、手写或手势的形式输入文本)提供支持。

Wear 用户可通过远程输入选择各种输入选项。这些选项包括:

  • 口述
  • 表情符号
  • 预设回复
  • 智能回复
  • 默认 IME

图 1. 输入法示例

Wear 随附系统默认输入法编辑器 (IME),并向第三方开发者开放 IME API 以为 Wear 创建自定义 IME。用于 Wear 设备的 IME API 与用于其他机型的相同,但由于屏幕空间有限,因而在用法上稍微不同。

本文档提供的指南可帮助您创建一个 Wear 专属 IME

为 Wear 创建输入法

Android 平台为创建 IME 提供一个标准框架。要创建 Wear 专属 IME,您需要针对有限的屏幕尺寸优化您的 IME。

要了解如何为 Wear 创建输入法,请按照指南在手持式设备上创建输入法,并在 manifest 文件中添加以下 Google Play 过滤器以使其成为 Wear 专属 IME。

Wear 专属 IME 过滤器

  • API 级别

    如果您在为 Wear 开发 IME,请记住,只有 Android 6.0(API 级别 23)及更高版本的平台才支持此功能。为确保您的 IME 只能安装在支持语音以外的输入法的穿戴式设备上,可向您的应用 manifest 添加以下代码:

    <uses-sdk android:minSdkVersion="23" />
    

    这表示您的应用需要 Android 6.0 或更高版本。如需了解详细信息,请参阅 API 级别 <uses-sdk> 元素的文档。

  • 设备功能集

    要控制如何从不支持 Wear IME 的设备(例如,在手机上)过滤您的应用,向您的应用 manifest 添加以下代码:

    <uses-feature android:required="true" android:name="android.hardware.type.watch" />
    

调用输入法

Wear 在手表上提供用户设置,其允许用户从已安装的 IME 列表启用多个 IME。在用户启用您的 IME 后,他们可以从以下项目调用您的 IME:

  • 一个使用 RemoteInput API 的通知或应用。
  • 具有 EditText 字段的 Wear 应用。触摸文本字段会将光标置于字段中,且在焦点上自动显示 IME。

一般 IME 注意事项

以下是为 Wear 实现 IME 时的一些注意事项:

  • 设置默认操作

    RemoteInput 和 Wear 应用仅能处理单行文本输入。ENTER 键应始终触发对 sendDefaultEditorAction 的调用,从而使应用关闭键盘,并继续执行下一步或下一个操作。

  • 使用全屏模式 IME

    Wear 上的输入法占用了大部分屏幕,从而只能显示应用的一小部分;使用全屏模式可确保最佳用户体验,无论使用何种应用界面。在全屏模式中,ExtractEditText 提供所编辑文本字段的镜像视图,并且可设置其样式以便与其余的输入法界面风格相符。如需了解全屏模式的更多详情,请参阅 InputMethodService

  • 处理 InputType 标志

    出于隐私原因,您至少应处理您的 IME 中的 InputType 标志 TYPE_TEXT_VARIATION_PASSWORD。当您的 IME 处于密码模式时,请确保已针对单次按键(已停用自动拼写更正、自动完成和手势输入)优化您的键盘。最重要的是,处于密码模式的键盘应支持 ASCII 符号,无论使用何种输入语言。有关更多详情,请参阅指定输入法类型

  • 为切换到下一个输入法提供键值

    Android 允许用户轻松地在平台支持的所有 IME 之间进行切换。在您的 IME 实现中,将布尔值设置为 supportsSwitchingToNextInputMethod = true 以启用您的 IME,从而支持切换机制(以便应用可切换到下一个平台支持的 IME)。要详细了解如何实现 IME 之间的切换,请参阅 在 IME 子类型间切换