【发布时间】:2020-02-12 19:15:43
【问题描述】:
我已经为这个特定的要求工作了两个多月了。但是当输入字段集中在 webview 中时,我还没有找到禁用本机键盘的解决方案。我正在构建一个具有内置键盘(本质上是一个视图)的应用程序,并且我希望显示它而不是本机键盘。
到目前为止我已经尝试过:
- 为单击事件添加 javascript eventListener 以显示我的键盘 使用 JavscriptInterface.(Works)
- 设置 webview 可聚焦:false 和
其父母的
descendantFocusability到blocksDescendants(这有效 但不会在输入字段上显示光标) - 隐藏本机 使用 loadUrl 方法调整 javascript 事件大小的键盘。(有效 但是在隐藏之前会暂时显示本机键盘 键盘)
- 侦听
OnGlobalLayoutChange事件以检查是否 键盘已添加。 (有效,但结果与 在上述情况下,性能略有提高) - 强制停止 IME 服务。 (有效,但应用程序必须是系统 应用程序强制停止包和键盘服务必须启动 每当应用程序进入后台时。 有什么方法可以让我完成这项工作吗?
【问题讨论】:
-
您是否从设置中添加了键盘。那么只有你的键盘应该显示。
-
当我说键盘时,它是一个键盘,就像在显示键的视图中一样。
-
@Nepster 在该库中,开发人员正在使用 onGlobalLayoutListener 方法,这意味着他首先调用键盘,然后添加表情符号布局。键盘也显示出来了。
标签: javascript android webview android-softkeyboard android-source