- 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
© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记