0
我想聆聽特定視圖的尺寸變化。這種變化可能是由於方向改變,其他視圖重新調整大小等原因造成的。如何聆聽特定視圖的變化?
我試過這個,通過使用MYVIEW.getViewTreeObserver().addOnGlobalLayoutListener(MYGLOBALLAYOUTLISTENER)
但是每次全局佈局改變時都會調用這個,不管MYVIEW有什麼變化。
我怎樣才能只聽MYVIEW維度的變化。
我可以使用OnGlobalLayoutListener,然後檢查MYVIEW的座標,然後啓動相應的方法,但這似乎並不是一個具體的解決方案。
如果還有其他方法,請與我分享。
幫助讚賞。
感謝您的回覆trippedout時間! 我認爲onLayoutChangeListener不會更新方向更改。在佈局在方向更改後重新繪製之前調用它。我想要的東西與onWindowFocusChange工作方式相同,但是對於指定的視圖。 –
您是否嘗試覆蓋您的實際視圖的onLayout調用?如果onLayoutChangeListener不會被觸發,那麼我打賭你onLayout在方向改變時被調用 – trippedout
onLayoutChangeListener在方向改變後會觸發,但問題是在佈局放置在屏幕上之前觸發。我正在尋找一種方法,一旦佈局在屏幕上完成,就會觸發。這是可以實現的使用onWindowFocusChange或使用viewTreeObserver,但正如我上面提到的,我不能使用它們。 –