/**
* 实现的功能就是“点击edittext之外的部分使软键盘隐藏”.
* 用法HideKeyBoard.setupUI(**, **)
* 第一个参数就是findViewById(R.id.root_layout(其中root_layout为我们的根布局id)
* 第二个参数就是activity的名字
*/
public class HideKeyBoard {
public static void setupUI(View view, final Activity activity) {
// 判断点击的view是否是EditText。如果不是,就隐藏软键盘
if (!(view instanceof EditText)) {
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
hideSoftKeyboard(activity); // Main.this是我的activity名
return false;
}
});
}
//循环遍历子view,然后对每个view判断
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
View innerView = ((ViewGroup) view).getChildAt(i);
setupUI(innerView, activity);
}
}
}
public static void hideSoftKeyboard(Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager) activity
.getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus()
.getWindowToken(), 0);
}
}
可以定义一个工具类,把上面的代码copy进去
参考:http://www.it165.net/pro/html/201405/13742.html