界面需求,在输入用户名或者密码时候,需要隐藏输入法,再进行其他操作。
下面为隐藏输入法的代码,网上还有其他的方法,各位请自行百度:
InputMethodManager manager=(InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
manager.hideSoftInputFromInputMethod(LoginActivity.this.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
但是当我调用这个方法后,发现软键盘并没有消失,焦点却跑到了第一个EditText上面。
想了一阵才明白,并不是方法没有起作用,而是在隐藏了输入法后,第一个EditText又自动获取了焦点。
到了这里,就好解决了,不让EditText自动获取焦点即可:
在父控件中设置:
parent.setFocusable(true);
parent.setFocusableInTouchMode(true);