Android中单击空白区域隐藏键盘

来源:互联网 发布:始作俑者其无后乎 编辑:程序博客网 时间:2024/06/15 09:37

项目开发中,产品经理拿着iPhone上的效果说Android!

iPhone上在使用键盘输入时,在非输入框位置(即空白区域)点击,键盘会收起来。之前在Android上没有实现过这儿效果,首先想到的是在最外层布局文件上添加onclik事件,由于子view会优先处理事件,所以在点击其他地方时隐藏键盘,但百度之后发现另一种做法:

private InputMethodManager manager=null;manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);   @Override public boolean onTouchEvent(MotionEvent event) {  // TODO Auto-generated method stub  if (event.getAction() == MotionEvent.ACTION_DOWN) {   if (getCurrentFocus() != null     && getCurrentFocus().getWindowToken() != null) {    manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);   }  }  return super.onTouchEvent(event); }

原来InputMethodManager中已经有对这个事件的处理了。