WindowSoftInputMode Flag 详解

GeeJoe

Activity获取焦点后,软键盘隐藏与显示


stateUnspecified
不指定软键盘的状态(隐藏还是可见)将由系统选择合适的状态,或依赖主题中的设置,这是对软键盘行为的默认设置

stateUnchanged
保留状态
当 Activity 转至前台时保留软键盘最后所处的任何状态,无论是可见还是隐藏

stateHidden
当用户确实是向前导航到 Activity,而不是因离开另一Activity 而返回时隐藏软键盘

stateAlwaysHidden
始终隐藏软键盘,当 Activity 的主窗口有输入焦点时始终隐藏软键盘

stateVisible
显示软键盘,在正常的适宜情况下(当用户向前导航到 Activity 的主窗口时)显示软键盘

stateAlwaysVisible
始终显示软键盘,当用户确实是向前导航到 Activity,而不是因离开另一Activity 而返回时显示软键盘

在软键盘弹出时,Activity调整策略


adjustUnspecified
主窗口的默认行为,不指定 Activity 的主窗口是否调整尺寸以为软键盘腾出空间,或者窗口内容是否进行平移以在屏幕上显露当前焦点。 系统会根据窗口的内容是否存在任何可滚动其内容的布局视图来自动选择其中一种模式。 如果存在这样的视图,窗口将进行尺寸调整,前提是可通过滚动在较小区域内看到窗口的所有内容。

adjustResize
始终调整 Activity 主窗口的尺寸来为屏幕上的软键盘腾出空间。当软键盘弹出时,会让布局重新绘制,这种一般适应于带有滑动性质的控制,让其向下滚动,然后适应软键盘的显示。

adjustPan
不调整 Activity 主窗口的尺寸来为软键盘腾出空间, 而是自动平移窗口的内容,使当前焦点永远不被键盘遮盖,让用户始终都能看到其输入的内容。 这通常不如尺寸调整可取,因为用户可能需要关闭软键盘以到达被遮盖的窗口部分或与这些部分进行交互。

adjustNoting
软键盘弹出时,主窗口Activity不会做出任何响应。

阅读 726
0 声望
0 粉丝
0 条评论
0 声望
0 粉丝
文章目录
宣传栏