我的应用程序底部有一个垂直滑动的抽屉。当软键盘打开时,它会把抽屉的标签往上推,所以它位于键盘上方。实际上,我想让它保持在屏幕的底部,当键盘显示时,它会被隐藏起来。
有人遇到过这个问题吗?知道怎么修吗?
我的应用程序底部有一个垂直滑动的抽屉。当软键盘打开时,它会把抽屉的标签往上推,所以它位于键盘上方。实际上,我想让它保持在屏幕的底部,当键盘显示时,它会被隐藏起来。
有人遇到过这个问题吗?知道怎么修吗?
当前回答
这段代码可能会对您有所帮助。在oncreate方法中使用它。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
其他回答
你可以简单地切换你的活动的windowSoftInputModeflag为adjustPan在你的androidmainfst .xml文件在你的活动标签。
查看官方文档了解更多信息。
<activity
...
android:windowSoftInputMode="adjustPan">
</activity>
如果你的容器没有改变大小,那么你可能已经将高度设置为“match parent”。如果可能的话,将父元素设置为“Wrap Content”,或者在父元素的顶部和底部设置约束布局。
父容器会缩小以适应可用空间,所以很可能你的内容应该在一个训斥视图内,以防止(取决于手机制造商和选择的布局…)
内容被粉碎在一起 内容悬挂在屏幕上 内容无法访问,因为它在键盘下面
即使它所在的布局是相对布局或约束布局,内容也会出现问题1-3。
到目前为止,答案并没有帮助我,因为我有一个按钮和textInput字段(并排)下面的textView一直被键盘隐藏,但这已经解决了我的问题:
android:windowSoftInputMode="adjustResize"
对于xamarin用户,将以下代码添加到MainActivity类的Activity属性中,
WindowSoftInputMode =Android.Views.SoftInput.AdjustNothing
或者你可以添加这段代码Window.SetSoftInputMode(Android.Views.SoftInput.AdjustNothing)到MainActivity类的OnCreate方法。
要在片段中以编程方式完成此工作,您可以使用以下代码
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
将此放在onResume()中
在我的情况下,我需要键盘保持隐藏,就在点击按钮后,我的布局需要调整,所以我只是在清单中添加了这个命令,它得到了超级正确。
android:windowSoftInputMode="stateHidden|adjustResize"