Table.getHeight()始终返回0,尽管它不应该返回0。

7

我正在尝试在表格中排列和缩放一些元素,为了实现这一点,我需要知道表格的高度。问题是,无论表格显然在屏幕上有明确的大小,但每当我尝试获取它的高度时,它总是返回0。为什么会这样呢?

table_height = table.getHeight();

2
这取决于您何时询问高度。如果您在添加元素后但更新之前调用此函数,则高度仍将为零。通常,表格的大小基于其中包含的内容,因此我不确定这是否有效。但是,您可以调用 table.invalidateHierarchy() 来强制它提前计算其当前大小。 - Tenfour04
我已经在构造函数中测试了invalidateHierarchy,在将所有元素添加到表格后;它仍然产生0.0。有没有办法在构造函数中获取高度? - gogonapel
我还应该说一下,这个表格里面有一个包含其他表格和图像按钮的堆栈。 - gogonapel
1个回答

10

在调用getHeight()方法之前,我建议你对表格使用pack()方法。这将设置您的表格的高度和宽度。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接