Javascript 如何在Android webview中完全禁用所有输入的软键盘
我正在使用phonegap为Android开发一个web应用程序,由于我将有自己的HTML键盘,我需要禁用Android的系统键盘,以防止用户单击任何文本输入字段时显示它。我不想使用只读输入字段或Javascript 如何在Android webview中完全禁用所有输入的软键盘,javascript,android,cordova,android-webview,android-websettings,Javascript,Android,Cordova,Android Webview,Android Websettings,我正在使用phonegap为Android开发一个web应用程序,由于我将有自己的HTML键盘,我需要禁用Android的系统键盘,以防止用户单击任何文本输入字段时显示它。我不想使用只读输入字段或onblur(),因为我希望光标位于文本字段中,这样用户可以在输入时移动光标位置 所以我想在默认情况下完全禁用Android的键盘,我尝试将Android:windowsofInputMode=“stateAllwayshidden”添加到manifest.xml中,但这不起作用 我还尝试使用来自的ja
onblur()
,因为我希望光标位于文本字段中,这样用户可以在输入时移动光标位置
所以我想在默认情况下完全禁用Android的键盘,我尝试将Android:windowsofInputMode=“stateAllwayshidden”
添加到manifest.xml
中,但这不起作用
我还尝试使用来自的javascript接口,但Android 2.3.x()上出现了javascript java桥崩溃问题。所以我现在仍然没有一个好的解决方案。请帮忙
提前感谢您的帮助 好吧,你有几个选择!您可以尝试使用以下方法完全禁用键盘:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT\u INPUT\u STATE\u HIDDEN)代码>
- 如果您选择这种方式,请确保将设置恢复到正常状态(如果不是自动完成)。我以前没有用过这个,也不能告诉你它的行为,但请记住!您不希望用户在使用您的应用程序时只在键盘被禁用的情况下回复他们收到的文本:)
- 您可以使用类似于以下链接的内容。我还没有彻底研究过它(tl;dr),但他创建了一个自定义视图,它从android.inputmethodservice.KeyboardView扩展而来,并使用它
- 最后(我不确定这与第一个有多大区别)您可以创建自己的IME
WebView
的WebView客户端
和WebChromeClient
?我在一个使用jQuery Mobile的项目中工作,我们必须配置这两个工具才能正常工作。您可能必须截获JS事件,并将其绑定到本机代码中的Java逻辑中。我将对此进行调查并不断更新。感谢您提供的提示,但我认为phonegap已经配置了webviewclient和webchromeclient。我会进一步调查的。谢谢,看看下面我的建议。看起来没有什么好方法可以做到这一点,但在很多情况下,在Android中做任何漂亮的事情几乎都是不可能的。