📅  最后修改于: 2023-12-03 15:13:22.344000             🧑  作者: Mango
Android 中的 windowSoftInputMode
用于控制软键盘与界面的交互行为。 在 AndroidManifest.xml 文件中,在 <activity>
标签内使用 android:windowSoftInputMode
属性即可使用该特性。
adjustPan
:当软键盘弹出时,整个界面的布局将上移,即,布局将被弹起来以使软键盘腾出地方。但如果 android:windowSoftInputMode
的属性设置成 adjustPan
,则会避免这种情况。
adjustResize
:当软键盘弹出时,界面会重新调整大小以适应软键盘,以便用户可以看到正在输入的内容。这种模式在需要用户输入一些内容时特别有用。
adjustNothing
:当软键盘弹出时,界面不会被调整,也不会留下任何空白区域,这是只有在大多数情况下不需要处理键盘可以安全地隐藏时才使用的。
stateVisible
:指示当软键盘出现或隐藏时,应该隐藏或保留界面上的任何在渲染视图时位于软键盘区域下方的不受软键盘控制的窗口部件。
stateUnchanged
:指示当软键盘出现或消失时,不进行任何更改。
adjustPan
主要用于防止键盘弹出时覆盖屏幕上面的内容。这有助于用户可以浏览以前输入的信息或对重要的 UI 控件进行操作。但是,使用此选项时,您需要确保键盘使用时不会撑开界面。
假设我们有一个 UI 页面,在底部有一个按钮。当用户点击按钮时,我们想要显示一些文本。但是,由于键盘将屏幕上移并覆盖了文本,这样用户就不能立即看到新文本。
那么我们可以通过 android:windowSoftInputMode
属性来设置 adjustPan
。
<activity android:name=".MainActivity"
android:windowSoftInputMode="adjustPan"></activity>
这样当键盘弹出时,屏幕将上移,但布局不会被键盘覆盖,用户就可以看到界面上的所有内容。