gpt4 book ai didi

android - 查看特定的 IME?

转载 作者:太空狗 更新时间:2023-10-29 13:40:53 28 4
gpt4 key购买 nike

我有一个自定义 View ,我希望用户能够从应用定义的字符集中输入字符。为此,据我了解,我需要编写一个输入法服务。用户不仅需要安装它,还需要在设置 > 语言和键盘中启用 IME,然后选择自定义 IME 以在 View 中使用。

这看起来真的很疯狂。我希望此 IME 仅用于一个应用程序中的一个 View 。我不希望它在系统范围内可用或强制用户进行全局设置更改。

我能看到的唯一选择是定义我自己的应用内自定义 View ,并在 View 获得焦点时模拟 IME(可能是全屏输入法)。有没有更好的?

最佳答案

我不认为 IME 是为这类任务而设计的。他们的概念是允许用户以标准化方式输入,以便它可以在来自不同供应商的多个应用程序中使用。

我的策略与您的想法相似:

  • 阻止软键盘出现,
  • 拦截菜单按钮按键以显示您自己的按键,
  • 添加一个自定义布局(可能是一个 GridView 或一个 TableView 在一个底部重力的 RelativeLayout 中)
  • 使用 OnItemClickListener
  • 将所需的 KeyEvent 发送到根 View。如果字符是发明的,KeyCodes 甚至不需要与 ASCII 字符相关。您只需截取代码并随意使用即可。

抱歉,我不能按照你的要求给你一个选项,但这个替代方案似乎并不比创建一个全新的 IME 更有效。

编辑:阅读相关问题后,使用 android.inputmethodservice.KeyboardView 而不是用 GridView 重新发明轮子是有意义的.

关于android - 查看特定的 IME?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890071/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com