在Android UI中,我们常常会使用EditText,比如在一个ScrollView中放置多个EditText,如下图:
带有edittext的scrollview.png
当用户点击这个EditText时会触发软键盘,这个软键盘会把EditText以下的界面挡住:
被edittext遮挡的scrollview.png
android:windowSoftInputMode
Activity 的主窗口与包含屏幕软键盘的窗口的交互方式。 该属性的设置影响两个方面:
当 Activity 成为用户注意的焦点时软键盘的状态 — 隐藏还是可见。
对 Activity 主窗口所做的调整 — 是否将其尺寸调小来为软键盘腾出空间,或者当窗口部分被软键盘遮挡时是否平移其内容以使当前焦点可见。
注意:该设置必须是下表所列的值之一,或者是一个“state...”值加上一个“adjust...”值的组合。在任一组中设置多个值(例如,多个“state...”值)都会产生未定义结果。各值之间使用垂直条 (|) 分隔。例如:
值
说明
"stateUnspecified"
不指定软键盘的状态(隐藏还是可见)。 将由系统选择合适的状态,或依赖主题中的设置。这是对软键盘行为的默认设置。
“stateUnchanged”