getMeasuredHeight和getHeight有什么区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getMeasuredHeight和getHeight有什么区别相关的知识,希望对你有一定的参考价值。

我试着在View.getMeasuredHeight中调用View.getHeightonGlobalLayout。两者都给我相同的结果。

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

我试着在谷歌搜索。第一个结果似乎与这个问题无关:Android: How to get a custom View's height and width?

答案

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

documentation for the View class描述了这些属性如下:

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

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

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

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

以上是关于getMeasuredHeight和getHeight有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

Android getMeasuredHeight 返回错误值!

getMeasuredHeight() 与 getHeight() 的区别

getMeasuredHeight()与getHeight的区别

getMeasuredHeight() 是不是以像素或 dp 为单位返回值

Android获取view高度

如何在 NativeScript 布局中查找/查看视图的尺寸?