我遇到这种情况,我检查软键盘是否打开,我想在代码中解雇,当我使用下面的代码时它无法解除键盘,因为代码找不到任何焦点,但键盘仍然打开,所以我怎么能隐藏它?
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中隐藏无键盘的软键盘?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)