android中点击空白处隐藏软键盘
android中点击空白处隐藏软键盘
码农Seven丶 发表于3年前
android中点击空白处隐藏软键盘
  • 发表于 3年前
  • 阅读 94
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: android中点击空白处隐藏软键盘,包括Fragment中实现,详情如下:

首先说下在普通Activity中的实现:

InputMethodManager manager 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);
 }


如果是Fragment的话,需要先让其中的view实现

view.setOnTouchListener(this);

…………………………


@Override
public boolean onTouch(View v, MotionEvent event) {
    getActivity().dispatchTouchEvent(event);
    return false;
}

然后其父类Activity中实现dispatchTouchEvent方法(在onTouchEvent不起作用的前提下)

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    System.out.println("dispatchTouchEvent");
    if(ev.getAction() == MotionEvent.ACTION_DOWN){
        if(getCurrentFocus()!=null && getCurrentFocus().getWindowToken()!=null){
            manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
        }
    }
    return super.dispatchTouchEvent(ev);
}


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 27
码字总数 4766
×
码农Seven丶
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: