0%

Android 开启与关闭软键盘

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
//得到InputMethodManager的实例
if (imm.isActive()) {
//如果开启
imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS); 
//关闭软键盘,开启方法相同,这个方法是切换开启与关闭状态的
}

另外还有单独的开启及关闭方法: hideSoftInputFromWindow(IBinder windowToken, int flags) showSoftInput(View view, int flags) IBinder参数可以通过EditText view的getWindowToken()方法来取到,如

imm.hideSoftInputFromWindow(search_key.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS) ;

隐藏的flags参数有HIDE_NOT_ALWAYS和HIDE_NOT_ALWAYS两种,显示的flags参数有SHOW_FORCED,SHOW_IMPLICIT两种,isActive()方法有时好像不太好用,我在项目中使用时返回的一直是true