Java 底部导航栏(布局)通过键盘向上移动
我正在使用Java 底部导航栏(布局)通过键盘向上移动,java,android,Java,Android,我正在使用LinearLayout自定义底部导航栏。因此,每当我关注编辑文本字段时,底部视图就会与键盘一起出现 我已尝试更改清单中的android:windowSoftInputMode=“adjustPan”和android:windowSoftInputMode=“adjustResize”。它可以工作,但使用时滚动不起作用 以键盘为中心: 如果没有键盘: }如果你想让键盘不向上推底部的横杆,它应该留在键盘后面,那么只需在你的活动中添加这个标签即可 android:windowSoftI
LinearLayout
自定义底部导航栏。因此,每当我关注编辑文本字段时,底部视图就会与键盘一起出现
我已尝试更改清单中的android:windowSoftInputMode=“adjustPan”
和android:windowSoftInputMode=“adjustResize”
。它可以工作,但使用时滚动不起作用
以键盘为中心:
如果没有键盘:
}如果你想让键盘不向上推底部的横杆,它应该留在键盘后面,那么只需在你的活动中添加这个标签即可
android:windowSoftInputMode="adjustNothing"
否则,您可以通过添加键盘可见/隐藏事件,并相应地显示/隐藏底部栏的方式来完成。像
mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
if (mainLayout != null) {
int heightDiff = mainLayout.getRootView().getHeight() - mainLayout.getHeight();
if (heightDiff > 200) {
//keyboard is open, hide layout
} else {
//keyboard is hidden, show layout
}
}
}
});
你能分享你的版面截图来描述这个问题吗,以及你希望它是什么样子。你能解释更多吗?我的意思是你的问题是什么,你希望它看起来怎么样。@Asad Ali Choudry:我现在已经添加了布局截图。@JDevoloper底部视图与键盘一起出现。当键盘可见时,我需要阻止/隐藏底部视图。是的,我在清单中也尝试了上面的代码。它的工作正是我需要的,但无法滚动(如果我有滚动视图)。然后尝试我的其他自定义解决方案,检测键盘显示/隐藏事件,并相应地显示/隐藏底部布局。好的,我将尝试第二个选项。你能告诉我那个dpToPx吗。我应该用什么来代替那个dpToPx?没必要,我已经移除了。这只是为了精确,但没有精确,它也可以工作。你也可以从这篇文章获得帮助。但我让你觉得很简单。
android:windowSoftInputMode="adjustNothing"
mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
if (mainLayout != null) {
int heightDiff = mainLayout.getRootView().getHeight() - mainLayout.getHeight();
if (heightDiff > 200) {
//keyboard is open, hide layout
} else {
//keyboard is hidden, show layout
}
}
}
});