android - 在 Android 中创建自定义键盘

标签 android keyboard android-softkeyboard

我想编写一个自定义键盘,它应该适用于所有运行 Android 4.0 及更高版本的设备。所以首先我搜索了网络,但没有找到任何相关信息。那么如何创建一个应用来替代 Android 的普通键盘呢?

我想知道的:

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

最佳答案

所以,当我在 Swype 工作时,我这样做了大约 2 年。你不需要root,你只需要实现一个InputMethodService。您可以从大多数文本框中获取文本,但不是全部(并非所有编辑字段都正确实现了它们的一半 API。尤其是输入类型为 INPUT_TYPE_NULL 的任何内容都无法正常工作)。要获取文本,您可以调用 inputConnection.getExtractedText

请注意 - API 很糟糕,应用程序在使用它时会受到打击和错过。一个基本的键盘很简单,但是尝试做任何复杂的事情,你会花费很多时间。大键盘花了很多工时

关于android - 在 Android 中创建自定义键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284664/

相关文章:

android - 如何修复我的 onclick 监听器,以便我不必单击两次即可在单击标题时触发事件?

android - 如何在我的应用程序中实现 applock 高级保护等功能

android - 如何知道键盘(dis)是否出现在Android中?

Android软键盘隐藏RecyclerView

java - 我是否必须覆盖 `onEditorAction` 或者 "action_done"是否具有默认行为?

Android IME,在 EditText 中设置光标位置

android - 在安卓中访问谷歌云打印

android - Google Play 更新了描述和屏幕截图,但没有更新应用程序 apk

iOS - 如何在方法之外引用键盘通知?

java - GLFW (LWJGL) 输入 - 按住 CTRL 会阻止 CharCallback