2010-11-01 44 views
2

的高度,我想獲得一個linearlayout的高度。我發現更多信息在this answer得到的LinearLayout

View.getWidth()/View.getHeight()直到視圖被測量後,纔會給你一個有意義的答案。

我怎麼會知道這種觀點已經被測量?有一些事件嗎?

UPD:

解決方案,我是讓佈局在被覆蓋的onWindowFocusChanged()高度

+1

謝謝你糾正我的英語:) – Tima 2010-11-01 20:43:14

回答

1

當前有沒有那麼就會觸發明確告訴你一個視圖大小的任何事件已經改變。正如您所指出的線程中所建議的那樣,您可以檢查視圖何時具有焦點,並假設一旦它具有焦點,它的寬度/高度大於0.

另一種方法:有一種onSizeChanged方法,您可以在子類中重寫並在非零值進入時用於做某些事情。顯然,一定要調用super.onSizeChanged(...)。

+0

「認爲,一旦它具有焦點,它的寬度/高度大於0」 ..可能是它不是那麼聰明的回答,但我要在while循環中做到這一點? ......我嘗試明天你的第二個建議... Android的東西太複雜 – Tima 2010-11-01 20:58:28

+0

謝謝你的答案:)這是足以讓我在onWindowFocusChanged得到高度():) – Tima 2010-11-02 09:51:08