2014-12-13 72 views
4

我試圖安排和縮放表內的一些元素,我需要知道表的高度以實現所有目標。問題是每當我嘗試獲取它的高度時,即使表格明顯在屏幕上並且具有確定的大小,它總是返回0。這是爲什麼?Table.getHeight()總是返回0,儘管它不應該

table_height = table.getHeight(); 
+2

這取決於你何時詢問身高。如果在向其中添加元素之後但在更新之前調用它,它仍然爲零。通常情況下,桌子的大小取決於裏面的內容,所以我不確定這是否會起作用。但是你可以調用'table.invalidateHierarchy()'強制它儘早計算它的當前大小。 – Tenfour04 2014-12-13 18:18:13

+0

在將所有元素添加到表格後,我在構造函數中測試了invalidateHierarchy;它仍然產生0.0。有什麼辦法可以在構造函數中獲得高度嗎? – gogonapel 2014-12-14 09:08:20

+0

我也應該說,表格裏面有一個Stack,其中包含其他表格和imagebuttons。 – gogonapel 2014-12-14 11:06:28

回答

6

我建議你在調用getHeight()之前使用方法pack()。這將設置你的桌子的高度和寬度。

table.pack(); 
table_height = table.getHeight();