转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/12037179.html
继上次这一篇后:https://www.cnblogs.com/tangZH/p/12013685.html
我继续探讨,这次的场景和上一次的场景是一样的,在一个布局中,根布局是相对布局,需要被软键盘顶上去的部分为线性布局。线性布局最下方为一个Editext,后来发现,当线性布局的内容过多的时候,线性布局没法被顶出屏幕外,到达顶端就停止了,导致下方的EdiText被软键盘遮挡住。
我在根布局最外层套上一个ScrollView,这样一来发现下方的Editext还是会被遮挡住,但是不同的是,这时候你可以去手动将整个布局往上滑动,可我们需要的是顶上去之后自动露出来全部,而不是靠用户手动去滑,于是乎我想到了下面这种方法:
scrollView = findViewById(R.id.scroll); view.getViewTreeObserver().addOnGlobalLayoutListener( () -> scrollView.fullScroll(ScrollView.FOCUS_DOWN));
监听view布局发现变化(也就是软键盘出现或者消失的时候)的时候就将scrollView滑动到最底下,这样就能够使得需要显示的内容不被软键盘遮挡。
来源:https://www.cnblogs.com/tangZH/p/12037179.html