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

项目开发中,产品经理拿着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中已经有对这个事件的处理了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5ce2f98a7c081d199f227c841969e2b8.html