如何在Android webview中完全禁用所有输入的软键盘

kli*_*kli 11 javascript android android-webview android-websettings cordova

我正在使用phonegap为Android开发一个Web应用程序,因为我将在HTML中拥有自己的键盘,我需要禁用android的系统键盘,防止它在用户点击任何文本输入字段时出现.我不想使用只读输入字段,或者onblur()因为我想将光标放在文本字段中,所以用户可以在输入输入时移动光标位置.

所以,我要彻底禁用默认的Android键盘,我尝试添加android:windowSoftInputMode="stateAlwaysHidden"manifest.xml但这不起作用.

我也尝试使用这里的javascript界面,但Android 2.3.x上有一个javascript-java桥崩溃问题.(链接问题).所以我现在还没有一个好的解决方案.请帮忙.

提前感谢您的帮助.

sta*_*rty 1

好吧,你有几个选择!您可以尝试使用以下方法完全禁用键盘:

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

    • 如果您选择这种方式,请务必将设置恢复正​​常(如果未自动完成)。我以前没有使用过这个,也无法告诉你它的行为方式,但请记住这一点!您不希望用户在使用您的应用程序时回复他们收到的文本,结果却禁用了键盘:)


  • 您可以使用类似于以下链接的内容。我还没有非常彻底地研究它(tl;dr),但他创建了一个自定义视图,该视图扩展android.inputmethodservice.KeyboardView并使用它。