Android 开启与关闭软键盘

时间:2022-02-15 23:40:32
  
  
  1. InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
  2. //得到InputMethodManager的实例
  3. if (imm.isActive()) {
  4. //如果开启
  5. imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS);
  6. //关闭软键盘,开启方法相同,这个方法是切换开启与关闭状态的
  7. }

另外还有单独的开启及关闭方法:

hideSoftInputFromWindow(IBinder windowToken, int flags)
showSoftInput(View view, int flags)

IBinder参数可以通过EditText view的getWindowToken()方法来取到,如

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

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

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