问题如下
本来应该是这样的:
结果由于在页面中增加了EditText输入框,当打开输入法的软键盘的时候,是下面这样
纠结一下,这个该如何是好:
解决办法
方法一:
在这个AndroidManifest.xml中为这个页面的Activity添加如下代码:
android:windowSoftInputMode="adjustNothing"

方法二:
在这个Activity的onCreate()方法里添加下面的代码:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
解决:

关于windowSoftInputMode的相关属性
| 属性 | 说明 |
|---|---|
| adjustNothing | (窗口不做调整) |
| adjustPan | 当前窗口的内容将自动移动使用户能总是能看到输入内容的部分( 软键盘会遮挡屏幕 ) |
| adjustResize | 这Activity总是调整屏幕的大小以便留出软键盘的空间( 可以显示全部屏幕 ) |
| adjustUnspecified | 由系统自行决定是隐藏还是显示 ( 默认设置 ) |
| stateAlwaysHidden | 就算当前Activty主窗口获得焦点,软件盘也是隐藏的 |
| stateAlwaysVisible | 在当前Activity页面是,软键盘总是显示的状态 |
| stateHidden | 在当前Activity页面是,软键盘总是隐藏的状态 |
| stateUnchanged | 当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 |
| sstateUnspecified | 软键盘的状态没有被指定,系统自动选择一个合适的状态或依赖于主题的设置 |
| stateVisible | 软键盘通常是可见的 |
本文介绍了解决Android应用中软键盘遮挡输入框的问题,提供了两种有效的方法:通过修改AndroidManifest.xml文件中的配置或者在Activity的onCreate()方法中进行设置。同时详细解释了windowSoftInputMode的不同属性及其作用。
910

被折叠的 条评论
为什么被折叠?



