近期做项目的时候,使用TabHostFragment类以便做导航页签,但在子Fragment里需要输入文字,这就导致在显示输入法时候,tab页签会上移,而需求却是隐藏掉页签。
系统提供了在清单文件里通过设置当前activity的一个属性android:windowSoftInputMode来控制输入法的显示方式。
在一般情况下,使用adjustResize属性,这种情况,页签会上移,底部view会被隐藏,以便给需要输入文本的view挪空间
使用adjustPan属性,这种情况,页签会上移,中间view会被隐藏,以便给需要输入文本的view挪空间
而项目中的需求,恰是不对View做任何改变,便可以将页签被输入框隐藏掉,便可以使用adjustNothing属性。
下面是对android:windowSoftInputMode部分属性的值的描述
值 | 描述 |
”stateUnSpecified“ | 不指定软件的状态(显示或隐藏)。系统会根据主题中的设置来选择相应的状态。 该属性软键盘的默认设置。 |
”stateUnchnaged“ | 总是保持上次软键盘的状态。当Activity进入到最前端时,不论是它上次它是显示或隐藏,保持不变。 |
”stateHidden“ | 当用户进入目标Activity时,软键盘保持隐藏状态。这里的Activity是用户是向前进入Activity,而不是由于退出其它Activity退 |