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

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


当前回答

滚动视图:

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

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

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

希望这能帮到你。: D

其他回答

只需要添加一行…

添加android:windowSoftInputMode="stateHidden|adjustPan"在必需的活动你的manifest文件。

我刚被解决了:):)

这对我来说是最好的方法

android:windowSoftInputMode="adjustNothing"

试一试!

滚动视图:

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

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

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

希望这能帮到你。: D

没有一个对我有用,试试这个

 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) {

            }
        }
    });

}
android:windowSoftInputMode="stateHidden|adjustNothing"

这段代码可以工作。