android 打开和关闭输入法

来源:互联网 发布:mac ruby环境 编辑:程序博客网 时间:2024/05/17 02:45

最近在做类似微信朋友圈发说说和评论功能时,需要用代码手动地控制输入法的关闭和打开,遇到了一些诡异地的问题分享给大家,希望可以帮助遇到同样问题的同学

EditText etContent=findViewById(R.id.et_content)

1.打开输入法

InputMethodManager inputMethodManager = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);  // 接受软键盘输入的编辑文本或其它视图  inputMethodManager.showSoftInput(etContent,InputMethodManager.SHOW_FORCED); 

2.关闭输入法

(1)EditText获得焦点

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(etContent.getWindowToken(), 0); //强制隐藏键盘 

2)EditText失去焦点

InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);if (inputMethodManager.isActive()) {inputMethodManager.hideSoftInputFromWindow(((Activity) context).getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);}

3.获取输入法的状态

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);boolean isOpen=imm.isActive();




0 0
原创粉丝点击