轉載請標明出處,維權必究:https://www.cnblogs.com/tangZH/p/12037179.html 繼上次這一篇後:https://www.cnblogs.com/tangZH/p/12013685.html 我繼續探討,這次的場景和上一次的場景是一樣的,在一個佈局中,根佈局是相 ...
轉載請標明出處,維權必究: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滑動到最底下,這樣就能夠使得需要顯示的內容不被軟鍵盤遮擋。