getMeasuredHeight和getHeight有什么区别?

我尝试在onGlobalLayout调用View.getMeasuredHeightonGlobalLayout 。 两者都给了我相同的结果。

我在想,在什么情况下他们的价值会不一样呢? 有没有例子可以certificate这一点?

我试图在谷歌search。 第一个结果似乎与这个问题不相关: Android:如何获得自定义视图的高度和宽度?

当您使用视图时,它会对其子元素施加一定的大小限制。 这些限制可能会阻止子元素占用其所需的空间量。

View类的文档描述了这些属性,如下所示:

视图的大小用宽度和高度来表示。 一个视图实际上拥有两对宽度和高度值。

第一对称为测量宽度和测量高度。 这些维度定义了视图想要在其父代中有多大(请参阅布局了解更多详细信息。)可以通过调用getMeasuredWidth()和getMeasuredHeight()来获得测量的维度。

第二对简单地称为宽度和高度,或者有时绘制宽度和绘图高度。 这些尺寸定义了屏幕上的视图的实际尺寸,在绘制时间和布局之后。 这些值可能但不一定与测量的宽度和高度不同。 宽度和高度可以通过调用getWidth()和getHeight()来获得。

另见: http : //developer.android.com/guide/topics/ui/how-android-draws.html