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

Posted

技术标签:

【中文标题】软输入键盘将我的静态底部视图向上移动 Android Kotlin【英文标题】:Soft input keyboard moves my static bottom view up Android Kotlin 【发布时间】:2021-02-23 04:59:42 【问题描述】:

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

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

但是当底部视图出现和消失时,这有点刷新我的整个视图,我可以用我的眼睛看到刷新发生。任何想法如何停止刷新或以其他方式执行此操作?

【问题讨论】:

【参考方案1】:

移除布局监听器并使用:

android:windowSoftInputMode="stateHidden|adjustNothing"

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

【讨论】:

发布布局,可能有用 我无法发布它。但它就像这样-> ConstraintLayout ---->RelativeLayout(topview) i tried Constraint too. ---->ViewPager2 ---->ConstraintLayout(bottomView) ->/Constraint

以上是关于软输入键盘将我的静态底部视图向上移动 Android Kotlin的主要内容,如果未能解决你的问题,请参考以下文章

出现软键盘时如何避免只有BottomNavbar向上推

避免 android 软键盘调整布局大小。或回调隐藏视图

软键盘弹出的时候,如何让我的页面自动向上移动

软键盘弹出的时候,如何让我的页面自动向上移动

iPhone 键盘隐藏 UISeachBar

键盘出现时 UITextView 向上移动