如何在Android中判断软键盘是不是弹出或隐藏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android中判断软键盘是不是弹出或隐藏相关的知识,希望对你有一定的参考价值。
android判断软键盘是否弹出和隐藏,主要是通过InputMethodManager 这个类来监听,如下代码:
private boolean hideKeyboard() if(inputMethodManager.isActive(searchEditText))
//因为是在fragment下,所以用了getView()获取view,也可以用findViewById()来获取父控件 getView().requestFocus();//强制获取焦点,不然getActivity().getCurrentFocus().getWindowToken()会报错 inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); inputMethodManager.restartInput(searchEditText); return true; return false; 参考技术A 不知道你是说的哪一种?
(1):虚拟键盘弹出后一般会占据当前activity的大部分,所以肉眼可以看到;
(2):代码中判断:
//判断隐藏软键盘是否弹出
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParamsSOFT_INPUT_STATE_UNSPECIFIED)
//隐藏软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
本回答被提问者和网友采纳 参考技术B (1):虚拟键盘弹出后一般会占据当前activity的大部分,所以肉眼可以看到;
(2):代码中判断:
//判断隐藏软键盘是否弹出
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParamsSOFT_INPUT_STATE_UNSPECIFIED)
//隐藏软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
参考技术C (1):虚拟键盘弹出后一般会占据当前activity的大部分,所以肉眼可以看到;
(2):代码中判断:
//判断隐藏软键盘是否弹出
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParamsSOFT_INPUT_STATE_UNSPECIFIED)
//隐藏软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
以上是关于如何在Android中判断软键盘是不是弹出或隐藏的主要内容,如果未能解决你的问题,请参考以下文章
android中如何点击一个按钮时隐藏软键盘,(不是点击空白处隐藏软键盘)