我的应用程序底部有一个垂直滑动的抽屉。当软键盘打开时,它会把抽屉的标签往上推,所以它位于键盘上方。实际上,我想让它保持在屏幕的底部,当键盘显示时,它会被隐藏起来。
有人遇到过这个问题吗?知道怎么修吗?
我的应用程序底部有一个垂直滑动的抽屉。当软键盘打开时,它会把抽屉的标签往上推,所以它位于键盘上方。实际上,我想让它保持在屏幕的底部,当键盘显示时,它会被隐藏起来。
有人遇到过这个问题吗?知道怎么修吗?
当前回答
当你想隐藏视图时,打开键盘。
将此添加到您的活动清单文件
android:windowSoftInputMode="stateHidden|adjustPan"
其他回答
这些答案对我没有帮助。所以我试着这样做:
android:windowSoftInputMode="adjustResize"
这就像一个魅力,现在我的应用程序的头没有消失。它的平滑。
这对我来说是最好的方法
android:windowSoftInputMode="adjustNothing"
试一试!
在我的例子中,按钮向上推的原因是因为它们上面的视图是一个ScrollView,当按钮向上推到键盘上方时,它就会崩溃,不管我设置的android:windowSoftInputMode是什么值。
我可以通过设置android:isScrollContainer="false"在位于按钮上方的ScrollView上避免我的底部一行按钮被软键盘推上去。
好吧,我已经看了这些答案,但在我的情况下,我陷入了同样的问题,并通过一个非常方便和最简单的解决方案,包括把一个非常小的无辜属性在你的Scrollview标签驻留在你的xml文件避难。这是
android:isScrollContainer="false"
好运!
没有一个对我有用,试试这个
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) {
}
}
});
}