自己写代码时遇到的问题,写个博客记下来。
当点击EditText时会弹出输入法,点击空白的地方时输入法还在,只能点击back或者输入法自带的隐藏按钮,总感觉不舒服,下面就通过两个方法解决。直接贴代码了。
/**
* 点击空白处隐藏软键盘
*/
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View view = getCurrentFocus();
HideSoftInput(view.getWindowToken());
}
return super.dispatchTouchEvent(ev);
}
// 隐藏软键盘
private void HideSoftInput(IBinder token) {
if (token != null) {
InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(token,
InputMethodManager.HIDE_NOT_ALWAYS);
}
}
如果多个类要使用,可以在新建BaseActivity,把方法拷贝,子类继承BaseActivity就行了。
在添加一个内容,小问题,就是弹出输入法会遮挡下方布局,而且设置scrollview也不能滑动。只要在manisfest设置一下就行。在<activity/>下添加下面的代码:
android:windowSoftInputMode="stateHidden|adjustResize"
stateHidden是不自动弹出输入法,设置adjustResize就可以滑动了。