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

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


当前回答

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

WindowSoftInputMode =Android.Views.SoftInput.AdjustNothing

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

其他回答

到目前为止,答案并没有帮助我,因为我有一个按钮和textInput字段(并排)下面的textView一直被键盘隐藏,但这已经解决了我的问题:

android:windowSoftInputMode="adjustResize"

滚动视图:

如果在你的android Manifest中添加了android:windowSoftInputMode="stateHidden|adjustPan",仍然不起作用。

它可能会受到影响,因为当键盘出现时,它将进入滚动视图,如果你的按钮/任何对象不在滚动视图中,那么对象将跟随键盘并移动其位置。

检查你的xml按钮在哪里,并确保它在滚动视图括号下,而不是在它外面。

希望这能帮到你。: D

解决这个问题有两种方法。 转到androidmanifest .xml,在你的活动名称中,添加这一行

   android:windowSoftInputMode="adjustPan"

在下面的代码中,我已经添加到注册活动。

 <activity android:name=".Register"
            android:windowSoftInputMode="adjustPan">

在第二种方法中,转到您的活动,并在您的onCreate方法中添加此代码。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

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

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

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

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