zoukankan      html  css  js  c++  java
  • android-点击空白或点击除EditText之外的控件隐藏软键盘

     1 /**
     2      * 利用android的事件分发机制,用户在点击除EditText...之外的控件隐藏软键盘输入窗口。
     3      */
     4     @Override
     5     public boolean dispatchTouchEvent(MotionEvent ev)
     6     {
     7         if(ev.getAction() == MotionEvent.ACTION_DOWN)
     8         {
     9             View v = getCurrentFocus();
    10             if(isShouldHideInput(v,ev)){
    11                 hideSoftInput(v.getWindowToken());
    12             }
    13         }
    14         return super.dispatchTouchEvent(ev);
    15     }
    16 
    17     private boolean isShouldHideInput(View v, MotionEvent ev)
    18     {
    19         if(v != null && (v instanceof EditText))
    20         {
    21             int[] l = {0, 0};
    22             v.getLocationInWindow(l);
    23             int left = l[0], top = l[1], right = left + v.getWidth(), bottom = top + v.getHeight();
    24             if(ev.getX() > left && ev.getX() < right && ev.getY() > top && ev.getY() < bottom)
    25             {
    26                 return false;// 忽略
    27             }
    28             else
    29                 return true;
    30         }
    31         return false;
    32     }
    33     private void hideSoftInput(IBinder token){
    34         if(token !=null){
    35             InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
    36             imm.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS);
    37         }
    38     }
  • 相关阅读:
    jstat命令-帮助优化java性能
    使用nginx搭建简单文件服务器
    JVM初探
    fastDFS shiro权限校验 redis FreeMark页面静态化
    spring AOP
    Java多线程并发
    js插件之Ocupload
    Jquery总结
    shell
    Linux(二)
  • 原文地址:https://www.cnblogs.com/wangziqiang/p/3657154.html
Copyright © 2011-2022 走看看