在Android程序中控制打开和关闭输入法



在应用程序中,我们经常需要控制EditText的输入法打开与关闭,手指touch之后,自动打开了输入法,可是怎么控制关闭输入法,除了输入法自己的关闭按钮之外,还有以下的方法。

     一、打开输入法窗口:

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

// 接受软键盘输入的编辑文本或其它视图

imm.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);



二、关闭出入法窗口


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


inputMethodManager.hideSoftInputFromWindow(OpeListActivity.this.getCurrentFocus().getWindowToken(),


InputMethodManager.HIDE_NOT_ALWAYS);


//接受软键盘输入的编辑文本或其它视图

inputMethodManager


.showSoftInput(submitBt,InputMethodManager.SHOW_FORCED);

三、如果输入法打开则关闭,如果没打开则打开

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

m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

四、获取输入法打开的状态

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
isOpen若返回true,则表示输入法打开

转载:

http://wolfgangkiefer.blog.163.com/blog/static/86265503201181205238909/