如何在Android中隐藏无键盘的软键盘?

如何在Android中隐藏无键盘的软键盘?,第1张

概述我遇到这种情况,我检查键盘是否打开,我想在代码中解雇,当我使用下面的代码时它无法解除键盘,因为代码找不到任何焦点,但键盘仍然打开,所以我怎么能隐藏它?privatevoidhideSoftKeyboard(){Activityactivity=(Activity)sContext;Viewview=activity.getCurrent

我遇到这种情况,我检查软键盘是否打开,我想在代码中解雇,当我使用下面的代码时它无法解除键盘,因为代码找不到任何焦点,但键盘仍然打开,所以我怎么能隐藏它?

private voID hIDeSoftKeyboard() {    Activity activity = (Activity) sContext;    VIEw vIEw = activity.getCurrentFocus();    if (vIEw != null) {        inputMethodManager inputMethodManager = (inputMethodManager) activity.getSystemService(Context.input_METHOD_SERVICE);        inputMethodManager.hIDeSoftinputFromWindow(vIEw.getwindowToken(), 0);        //((Activity) sContext).getwindow().setSoftinputMode(WindowManager.LayoutParams.soFT_input_STATE_ALWAYS_HIDDEN);    } else {            Log.i(sclasstag,"focus not found");    }}

解决方法:

试着用这个

您可以使用inputMethodManager强制AndroID隐藏虚拟键盘,调用hIDeSoftinputFromWindow,传入包含焦点视图的窗口的标记.

VIEw vIEw = this.getCurrentFocus();if (vIEw != null) {      inputMethodManager imm = (inputMethodManager)getSystemService(Context.input_METHOD_SERVICE);    imm.hIDeSoftinputFromWindow(vIEw.getwindowToken(), 0);}

这将强制键盘在所有情况下都被隐藏.在某些情况下,您需要传入inputMethodManager.HIDE_IMPliCIT_ONLY作为第二个参数,以确保您只在用户未明确强制显示键盘时隐藏键盘(通过按住菜单).

或这个

inputMethodManager imm = (inputMethodManager) getSystemService(Activity.input_METHOD_SERVICE); imm.toggleSoftinput(inputMethodManager.HIDE_IMPliCIT_ONLY, 0);

你可以找到更多细节here

总结

以上是内存溢出为你收集整理的如何在Android中隐藏无键盘的软键盘?全部内容,希望文章能够帮你解决如何在Android中隐藏无键盘的软键盘?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存