getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
| WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
关键代码就在setSoftInputMode()中,一般加在onCreate方法中即可,4个参数的含义如下表:
参数 | 含义 |
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN | 软键盘直接覆盖Activity,通常这是默认值 |
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | Activity高度会变化,让出软键盘的空间。和WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN 为2选1的值 |
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | Activity一打开就直接显示软键盘窗口,如果该窗口需要的话(即有EditText,或有Editable的控件) |
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | Activity打开后并不直接显示软键盘窗口,直到用户自己touch文本框。 |