在Android中创建自定义键盘

saf*_*ari 20 keyboard android android-softkeyboard

我想编写一个自定义键盘,它应该适用于运行Android 4.0及更高版本的所有设备.所以我首先搜索网络,但没有发现任何相关信息.那么如何创建一个取代Android的股票键盘的应用程序呢?

我想知道的是什么:

  1. 那里有一个很好的教程吗?你们有样例代码吗?
  2. 我需要root才能这样做吗?
  3. 它背后的结构是什么?(它只是一个带有服务的常规活动吗??)
  4. 是否可以读出键盘内的输入框?

Gab*_*han 20

所以,当我在Swype上工作时,我做了大约2年.您不需要root,只需要实现InputMethodService即可.您可以从大多数文本框中获取文本,但不是全部(不是所有编辑字段都正确实现了它们的一半API.特别是输入类型为INPUT_TYPE_NULL的任何文件都不能正常工作).要获取文本,您可以调用inputConnection.getExtractedText

请注意 - API很糟糕,应用程序很受欢迎,因此无法使用它.一个基本的键盘很容易,但尝试做任何复杂的事情,你会花很多时间.很多工时都进入了大键盘


Com*_*are 9

所以我首先搜索网络,但没有发现任何相关信息

Android开发人员文档中介绍了创建输入法,该文档位于Internet上.

你们有样本代码吗?

samples/如果您从SDK Manager下载了示例代码,则SDK安装目录中有一个示例.寻找SoftKeyboard.

我需要root才能这样做吗?

没有.

它背后的结构是什么?(它只是一个带有服务的常规活动吗??)

这是一个InputMethodService.