android-隐藏和显示软键盘

关闭软键盘
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0);

下面就可以通过下面方法可以恢复显示

boolean showSoftInput(View view, int flags, ResultReceiver resultReceiver)
boolean showSoftInput(View view, int flags)
void showSoftInputFromInputMethod(IBinder token, int flags)

          软键盘显示的原理

   
  1. 软件盘的本质是什么?软键盘其实是一个Dialog 
  2. InputMethodService为我们的输入法创建了一个Dialog,并且将该DialogWindow的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏显示。

你可能感兴趣的:(service,活动,dialog,输入法,token)