我的应用程序底部有一个垂直滑动的抽屉。当软键盘打开时,它会把抽屉的标签往上推,所以它位于键盘上方。实际上,我想让它保持在屏幕的底部,当键盘显示时,它会被隐藏起来。

有人遇到过这个问题吗?知道怎么修吗?


当前回答

试着用这个:

android:windowSoftInputMode="stateHidden|adjustPan"

其他回答

没有一个答案为我工作,但这做到了技巧,添加此属性到您的AndroidManifest.xml的活动标签:

<activity
     ...
   android:windowSoftInputMode="adjustNothing"> 
</activity>

在我的例子中,按钮向上推的原因是因为它们上面的视图是一个ScrollView,当按钮向上推到键盘上方时,它就会崩溃,不管我设置的android:windowSoftInputMode是什么值。

我可以通过设置android:isScrollContainer="false"在位于按钮上方的ScrollView上避免我的底部一行按钮被软键盘推上去。

对于xamarin用户,将以下代码添加到MainActivity类的Activity属性中,

WindowSoftInputMode =Android.Views.SoftInput.AdjustNothing

或者你可以添加这段代码Window.SetSoftInputMode(Android.Views.SoftInput.AdjustNothing)到MainActivity类的OnCreate方法。

在我的情况下,我需要键盘保持隐藏,就在点击按钮后,我的布局需要调整,所以我只是在清单中添加了这个命令,它得到了超级正确。

android:windowSoftInputMode="stateHidden|adjustResize"

活动的主窗口将不会调整大小为软键盘腾出空间。相反,窗口的内容将自动平移,以便当前焦点永远不会被键盘遮挡,用户总是可以看到他们正在键入的内容。

android:windowSoftInputMode="adjustPan"

这可能是您想要的更好的解决方案。