在activity的配置文件中 添加android:windowSoftInputMode
主要有2中:state:控制键盘的显示的时机
adjust:控制键盘显示的时候其它界面移动等状态。
(以下描述 只针对界面中有EditText的状态)
State:
stateHidden : 隐藏状态, 可以理解为只在Activity创建的那一次隐藏。现在有2个Activity 第一个将其设置为stateHidden , 进入第一个界面不显示键盘, 进入第2个 再finish第2个(第2个界面没有显示键盘) 这时第一个界面 不会显示键盘, 如果第2个界面显示了键盘,finish掉他,回到第一个界面 第一个界面还会显示键盘。
stateAlwaysHidden: 可以理解为每次进入Activity都会Hidden键盘, 同上,区别在与不管第2个界面是否显示键盘,回到第一个界面都不会显示键盘。
stateVisible:显示状态, 可以理解为只在Activity创建的那一次显示。 具体说明,参照hidden,举一反三。
stateAlwaysVisible: 可以理解为每次进入Activity都会显示键盘。具体说明,参照Hidden。
stateUnspecified:跟随系统。一般为stateVisible.
stateUnchanged:actiivty 总是跟随上一个界面的状态。如果上个界面显示就显示,不显示就不显示。
ps: 需要注意的是 如果在界面中存在ListView等如果你调用了listView的notifyDataSetChange 或 setHeadView setFootView等 会使EditText失去焦点,然后键盘会隐藏。
AdJust:
adjustResize:重新调整屏幕尺寸。
adjustPan: 会将界面想上推,来保证输入区域的显示。
adjustUnspecified:更随系统。