首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中创建自定义键盘

在Android中创建自定义键盘
EN

Stack Overflow用户
提问于 2013-01-12 02:43:49
回答 3查看 25.9K关注 0票数 20

我想写一个自定义键盘,应该可以在所有运行安卓4.0和更高版本的设备上工作。所以一开始我在网上搜索,但没有找到任何关于这方面的东西。那么,我该如何创建一款取代安卓普通键盘的应用呢?

我想知道的是:

  1. 有没有很好的教程?你们有没有示例代码?,

  1. ,我需要根目录才能做到吗?,它背后的结构是什么?(这只是服务的常规活动吗??)
  2. 可以在键盘上读出输入框吗?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-12 03:06:40

所以,当我在Swype上工作的时候,我做了大约两年。您不需要根目录,只需要实现一个InputMethodService即可。您可以从大多数文本框中获取文本,但不是所有文本框(并非所有编辑字段都正确地实现了各自的API)。特别是输入类型为INPUT_TYPE_NULL的任何东西都不能很好地工作)。要获取文本,您可以调用inputConnection.getExtractedText

请注意- API很糟糕,应用程序在使用它时时好时坏。一个基本的键盘很简单,但尝试做任何复杂的事情都会花费大量的时间。在大键盘上花费了大量的工时

票数 20
EN

Stack Overflow用户

发布于 2013-01-12 02:48:27

所以我首先在网上搜索了一下,但没有找到任何关于这方面的东西

有关创建输入法的内容,请参阅互联网上的the Android developer documentation

你们有没有样本码?

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

我需要根用户才能做到这一点吗?

不是的。

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

它是an InputMethodService

票数 9
EN

Stack Overflow用户

发布于 2015-05-15 14:26:10

  1. 有没有很好的教程?你们有样例代码吗?

下面是一个很好的教程:

http://code.tutsplus.com/tutorials/create-a-custom-keyboard-on-android--cms-22615

  1. 执行此操作是否需要超级用户?

不需要,root用户不需要执行此操作。

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

您需要使用inputMethodService,请参阅documentation

  1. 是否可以在键盘中读出输入框?

root:否

可以在键盘上读出输入框吗?

是的,这是可能的。

代码语言:javascript
复制
InputConnection ic = getCurrentInputConnection();
String currentText = ic.getExtractedText(new ExtractedTextRequest(), 0).text;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14284664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档