微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

软输入键盘将我的静态底部视图移至Android Kotlin

如何解决软输入键盘将我的静态底部视图移至Android Kotlin

我有一个带有静态顶视图的片段,一个静态底视图和在这两个视图中间的ViewPager2。(请在提供的链接中查找Picture1)。当键盘显示时,底部静态视图向上移动时出现问题。我尝试了所有的android软输入法以及与此相关的一些代码,stackoverflow中的其他一些代码,但是它不起作用。

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

What i'm trying to do is hide that bottom static view like in Picture 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"

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。