問(wèn)題:很多Android設(shè)備設(shè)計(jì)了虛擬鍵盤,在應(yīng)用使用的過(guò)程中生蚁,可以通過(guò)點(diǎn)擊或者手勢(shì)控制虛擬鍵盤的顯示和隱藏;這樣的變化會(huì)引起在實(shí)現(xiàn)過(guò)程中使用了屏幕的高度或者屏幕內(nèi)容顯示部分高度界面效果錯(cuò)亂的問(wèn)題凿跳;為了避免頁(yè)面錯(cuò)亂就要實(shí)時(shí)的監(jiān)聽(tīng)虛擬鍵盤的可見(jiàn)度變化對(duì)頁(yè)面進(jìn)行刷新,由于Android沒(méi)有提供虛擬鍵盤的可見(jiàn)度變化的監(jiān)聽(tīng)方法枚碗;那就只能在有需要的地方監(jiān)聽(tīng)頁(yè)面高度的變化舟扎;
解決方法:在需要的地方使用view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {}進(jìn)行高度變化的監(jiān)聽(tīng)粮呢;