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

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


当前回答

我通过添加解决了我的问题

 android:windowSoftInputMode="adjustNothing" 

在清单文件中添加。

并使Recyclerviews约束isScrollContainer为false。

android:isScrollContainer="false"

其他回答

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

   android:windowSoftInputMode="adjustPan"

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

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

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

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

我通过添加解决了我的问题

 android:windowSoftInputMode="adjustNothing" 

在清单文件中添加。

并使Recyclerviews约束isScrollContainer为false。

android:isScrollContainer="false"
android:windowSoftInputMode="stateHidden|adjustNothing"

这段代码可以工作。

你可以简单地切换你的活动的windowSoftInputModeflag为adjustPan在你的androidmainfst .xml文件在你的活动标签。

查看官方文档了解更多信息。

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

如果你的容器没有改变大小,那么你可能已经将高度设置为“match parent”。如果可能的话,将父元素设置为“Wrap Content”,或者在父元素的顶部和底部设置约束布局。

父容器会缩小以适应可用空间,所以很可能你的内容应该在一个训斥视图内,以防止(取决于手机制造商和选择的布局…)

内容被粉碎在一起 内容悬挂在屏幕上 内容无法访问,因为它在键盘下面

即使它所在的布局是相对布局或约束布局,内容也会出现问题1-3。

这个方法对我很管用

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