点击页面其他地方取消EditText的焦点并且隐藏软键盘的方法

代码如下:

//mContentView是整个页面,tv_ps_username是edittext
mContentView.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                mContentView.setFocusable(true);  
                mContentView.setFocusableInTouchMode(true);  
                mContentView.requestFocus();  
                InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);   
                imm.hideSoftInputFromWindow(tv_ps_username.getWindowToken(), 0);
                return false;
            }
        });

进入一个页面时edittext会自动获取焦点,并出现软键盘,不想让他显示的话只需给父布局添加这两条属性:

android:focusable="true"  
                            android:focusableInTouchMode="true"

20170118更新

更简单的方法是在一个页面上通过整个页面的视图的点击事件 ,点击时获取当前activity的焦点,不说了,上代码:

contentView.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(null != BaseActivity.this.getCurrentFocus()){
                    /**
                     * 点击空白位置 隐藏软键盘
                     */
                    InputMethodManager mInputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
                    return mInputMethodManager.hideSoftInputFromWindow(BaseActivity.this.getCurrentFocus().getWindowToken(), 0);
                }
                return false;
            }
        });

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值