getheight()和getmeasuredheight()的区别

12
1个回答

15

View#getMeasuredWidth()View#getMeasuredHeight()方法表示视图在计算和布局到屏幕上之前想要的尺寸。

在执行View#onMeasure(int, int)View#onLayout(boolean, int, int, int, int)之后,视图的尺寸可能会改变以适应其它内容。这些(可能)新的值可以通过调用View#getWidth()View#getHeight()来获取。

来自View类的参考文档

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

第一对被称为测量宽度和测量高度。这些尺寸定义了视图在其父级内所需的大小(有关更多详细信息,请参见布局)。可以通过调用getMeasuredWidth()getMeasuredHeight()方法获取测量尺寸。

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


10
是我自己的问题吗,还是名字被弄反了?对我来说,“measured”(测量的)似乎意味着实际的、真实的、最终的——已经被测量出来的——身高! - Fattie

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