getMeasuredHeight和getHeight有什么区别

Che*_*eng 49 android view width

我试着打电话View.getMeasuredHeightView.getHeightonGlobalLayout.两者都给我相同的结果.

我想知道,在什么情况下他们的价值会有所不同?有没有例子可以证明这一点?

我试着在谷歌搜索.第一个结果似乎与此问题无关:Android:如何获得自定义View的高度和宽度?

Dan*_*ard 73

使用View时,它对其子元素施加了某些大小限制.这些限制可能会阻止子元素占用它想要的空间量.

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

视图的大小用宽度和高度表示.视图实际上具有两对宽度和高度值.

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

第二对简称为宽度和高度,有时也称为绘图宽度和绘图高度.这些尺寸定义了屏幕上,绘图时和布局后视图的实际大小.这些值可以但不必与测量的宽度和高度不同.可以通过调用getWidth()和getHeight()来获得宽度和高度.

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

  • @DennyKurniawan 所有四个测量值均以像素为单位返回。 (3认同)