getheight()和getmeasuredheight()之间的区别

时间:2014-12-28 05:42:39

标签: android android-layout

我正在经历这个http://developer.android.com/guide/topics/ui/declaring-layout.html,当我越过一条线说明高度可能但不必与测量高度不同时,我在想如何测量高度与测量高度不同布局的高度。

1 个答案:

答案 0 :(得分:14)

在计算布局中的所有视图并将其放置在屏幕中之前,方法View#getMeasuredWidth()View#getMeasuredHeight()表示视图所需的维度。

View#onMeasure(int, int)View#onLayout(boolean, int, int, int, int)之后,可以更改观看度量以适应所有内容。然后,可以通过View#getWidth()View#getHeight()访问这些(可能的)新值。

来自View class reference

  

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

     

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

     

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