我的应用程序底部有一个垂直滑动的抽屉。当软键盘打开时,它会把抽屉的标签往上推,所以它位于键盘上方。实际上,我想让它保持在屏幕的底部,当键盘显示时,它会被隐藏起来。
有人遇到过这个问题吗?知道怎么修吗?
我的应用程序底部有一个垂直滑动的抽屉。当软键盘打开时,它会把抽屉的标签往上推,所以它位于键盘上方。实际上,我想让它保持在屏幕的底部,当键盘显示时,它会被隐藏起来。
有人遇到过这个问题吗?知道怎么修吗?
当前回答
只需要添加一行…
添加android:windowSoftInputMode="stateHidden|adjustPan"在必需的活动你的manifest文件。
我刚被解决了:):)
其他回答
没有一个对我有用,试试这个
private void scrollingWhileKeyboard() {
drawerlayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
try {
drawerlayout.getWindowVisibleDisplayFrame(r);
int screenHeight = drawerlayout.getRootView().getHeight();
int keypadHeight = screenHeight - r.bottom;
if (keypadHeight > screenHeight * 0.15) {
tabLayout.setVisibility(View.GONE);
} else {
tabLayout.setVisibility(View.VISIBLE);
}
} catch (NullPointerException e) {
}
}
});
}
好吧,我已经看了这些答案,但在我的情况下,我陷入了同样的问题,并通过一个非常方便和最简单的解决方案,包括把一个非常小的无辜属性在你的Scrollview标签驻留在你的xml文件避难。这是
android:isScrollContainer="false"
好运!
这个方法对我很管用
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
将以下代码添加到Manifest文件的“activity”中。
android:windowSoftInputMode="adjustResize"
你可以简单地切换你的活动的windowSoftInputModeflag为adjustPan在你的androidmainfst .xml文件在你的活动标签。
查看官方文档了解更多信息。
<activity
...
android:windowSoftInputMode="adjustPan">
</activity>
如果你的容器没有改变大小,那么你可能已经将高度设置为“match parent”。如果可能的话,将父元素设置为“Wrap Content”,或者在父元素的顶部和底部设置约束布局。
父容器会缩小以适应可用空间,所以很可能你的内容应该在一个训斥视图内,以防止(取决于手机制造商和选择的布局…)
内容被粉碎在一起 内容悬挂在屏幕上 内容无法访问,因为它在键盘下面
即使它所在的布局是相对布局或约束布局,内容也会出现问题1-3。