如何在Android网络视图中完全禁用所有输入的软键盘

How to completely disable soft keyboard for all input in Android webview

本文关键字:输入 键盘 Android 网络 视图      更新时间:2024-01-30

我正在使用phonegap为Android开发一个网络应用程序,由于我将有自己的HTML键盘,我需要禁用Android的系统键盘,以防止用户点击任何文本输入字段时显示它。我不想使用只读输入字段或onblur(),因为我希望将光标放在文本字段中,这样用户在输入时就可以移动光标的位置。

所以我想在默认情况下完全禁用Android的键盘,我尝试将android:windowSoftInputMode="stateAlwaysHidden"添加到manifest.xml,但这不起作用。

我也尝试在这里使用javascript接口,但在Android2.3.x上出现了javascript java桥接崩溃问题(问题链接)。所以我现在仍然没有一个好的解决方案。请帮忙。

提前感谢您的帮助。

好吧,您有几个选项!您可以尝试完全禁用键盘使用:

  • getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

    • 如果您选择这种方式,请确保在未自动完成的情况下将设置恢复正常。我以前没有用过这个,也不能告诉你它的表现,但请记住!你不希望用户在使用你的应用程序时回复他们收到的文本,结果却禁用了键盘:)


  • 您可以使用类似于以下链接的内容。我还没有深入研究(太长了,读不下去了),但他创建了一个从android.inputmethodservice.KeyboardView扩展的自定义视图,并使用它。

    • https://stackoverflow.com/a/1947370/1183256


  • 最后(我不确定这与第一个有多大区别),你可以创建自己的IME。

    • 如何为Android开发软键盘
    • http://developer.android.com/guide/topics/text/creating-input-method.html