软输入键盘将我的静态底部视图向上移动安卓Kotlin



我有一个Fragment,它有一个静态顶视图、一个静态底视图和一个位于这两个视图中间的ViewPager2。(在提供的链接中查找图片1(。当键盘出现时,我遇到了一个问题,我的底部静态视图向上移动。我尝试了所有的android软输入法和一些与之相关的代码,以及stackoverflow中的其他代码,但都不起作用。

android:windowSoftInputMode="stateAlwaysHidden|adjustPan" //does not work

我想做的是隐藏底部的静态视图,如图2:

我用这个代码归档了我正在寻找的东西:

binding.parentConstrint.viewTreeObserver.addOnGlobalLayoutListener {
val r = Rect()
binding.parentConstrint.getWindowVisibleDisplayFrame(r)
val screenHeight = binding.parentConstrint.rootView.height
val keypadHeight = screenHeight - r.bottom
if (keypadHeight > screenHeight * 0.15) {
if (!isKeyboardShowing) {
isKeyboardShowing = true
binding.bottomView.gone()
}
}else {
if (isKeyboardShowing) {
isKeyboardShowing = false
binding.bottomView.visible()
}
}
}

但当底部视图出现和消失时,这有点刷新了我的整个视图,我可以用眼睛看到刷新发生。有什么想法可以阻止这种刷新或用另一种方式来做吗?

删除布局侦听器并使用:

android:windowSoftInputMode="stateHidden|adjustNothing"

否则,尝试从清单中删除最后一行

最新更新