您的位置:首页 > 移动开发 > Android开发

EditText 获取焦点时 输入法弹出 点击EditText以外的部分 输入法隐藏

2014-01-24 15:19 465 查看
最近做到一个Demo时,遇到EditText聚焦是 会弹出输入法 :

这里有个方法可以屏蔽打开一个Activity时,EditText自动获取焦点,输入法弹出的解决代码:

//屏蔽EditText自动弹出输入法的  监听
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);


对于点击EditText以外的部分  输入法隐藏,需要重写onTouchEvent:

首先在oncreat中获得一个InputMethodManager:

InputMethodManager  manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);


 

核心代码:

@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
if(getCurrentFocus()!=null && getCurrentFocus().getWindowToken()!=null){
manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
return super.onTouchEvent(event);
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐