Android:如何防止软键盘将我的视图向上推?

487

我在应用程序底部有一个垂直滑动抽屉。当软键盘打开时,它会将抽屉的选项卡向上推,使其位于键盘顶部。实际上,我希望它保持在屏幕底部,并在显示键盘时隐藏。

还有其他人遇到这个问题吗?知道如何解决吗?


1
嗨,我遇到了相同的问题,你在清单文件中使用了哪个标志?你能帮我解决一下吗? - Nixit Patel
1
这个问题在这里已经有了重复:https://dev59.com/W2035IYBdhLWcg3wSN4G - WonderWorker
29个回答

9

到目前为止,之前的回答并没有帮到我,因为我的文本框下面有一个按钮和一个文本输入框(并排放置),它们总是被键盘遮挡,但是以下操作解决了我的问题:

android:windowSoftInputMode="adjustResize"

8
这对我来说是最好的解决方案。
android:windowSoftInputMode="adjustNothing"

试一下!


7
请在清单文件的“活动”部分添加以下代码。
android:windowSoftInputMode="adjustResize"

这个运行良好。然而,只是提醒一下,当你使用百分比时它不起作用。因为它会重新调整一些元素。 所以,如果你有百分比的约束元素,你会有问题。改用wrap_content,它将工作得非常好。 - Thiago Silva

7
android:windowSoftInputMode="stateHidden|adjustNothing"

这段代码可行。


我认为android:windowSoftInputMode="stateHidden|adjustPan"也应该有效。 - Arthur Sady Cordeiro Rossetti

6

我看了这些答案,但在我的情况下,我遇到了同样的问题,并通过一个非常方便和最简单的解决方案得到了解决,它涉及将一个非常小而无害的属性放入您的xml文件中的Scrollview标签中。那就是

android:isScrollContainer="false"

祝你好运!


4
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

这个对我有用。

3
我通过添加以下内容解决了我的问题:

我已经解决了我的问题,通过添加

 android:windowSoftInputMode="adjustNothing" 

在清单文件中添加,并将Recyclerview的约束设置为isScrollContainer为false。
android:isScrollContainer="false"

2
在我的情况下,我需要隐藏键盘,并且在点击按钮后调整布局,所以我只需在清单文件中添加此命令即可使其完美实现。请注意保留HTML标签。
android:windowSoftInputMode="stateHidden|adjustResize"

2
当您想要在打开键盘时隐藏视图时,将以下内容添加到清单文件中的Activity中。"最初的回答"

当您希望在打开键盘时隐藏视图时,请将此内容添加到清单文件中的Activity中。

android:windowSoftInputMode="stateHidden|adjustPan"

2

请尝试使用以下内容:

android:windowSoftInputMode="stateHidden|adjustPan"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接