2

我想得到 a 的高度linearlayout。我在这个答案中找到了更多信息

View.getWidth()/View.getHeight()在测量视图之前不会给你一个有意义的答案。

我如何知道该视图已被测量?有什么活动吗?

升级版:

我的解决方案是在覆盖的 onWindowFocusChanged() 中获取布局的高度

4

1 回答 1

1

目前没有任何会触发的事件专门告诉您视图的大小已更改。正如您指出的线程中所建议的那样,您可以检查视图何时具有焦点,并假设一旦它具有焦点,它的宽度/高度就大于 0。

另一种方式:有一个onSizeChanged方法,您可以在子类中重写它并在非零值进入时使用它来执行某些操作。显然,请务必调用 super.onSizeChanged(...)。

于 2010-11-01T18:44:38.163 回答