为了用户体验要隐藏软键盘,但是在网上找了很多方法都是没有用或者判断不了键盘的显示状态,只能弹出或者隐藏。自己试了很多中方法才研究出自己想要的效果,分享一下。
先上代码:
/**隐藏系统键盘*/
public staticvoid hideKeyBoard(Context ctx, View view){
InputMethodManager imm = (InputMethodManager)ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
这里的ctx为当前Activity对象,View为输入对象,我这里是EditText对象。注意,hideSoftInputFromWindow这个方法除了能判断键盘显示状态之外还在方法里帮你把键盘隐藏了,因此判断之后不需要隐藏操作,网上很多例子都是把它当作判断因此重复操作了。