如果onMeasure()完成所有实际测量,那么Measure()的重点是什么?

时间:2013-10-23 23:36:19

标签: android

我不明白何时应该使用Measure()方法,如果onMeasure()是测量,那么甚至不需要调用测量。

感谢。

2 个答案:

答案 0 :(得分:1)

测量实际调用onMeasure:

  

视图的实际测量工作在onMeasure(int,int)中执行,由此方法调用。因此,只有onMeasure(int,int)才能且必须被子类覆盖。

在幕后,Measure基本上会缓存当前值,因此仅在调整元素大小时调用onMeasure。这样,您就不需要在onMeasure中实现逻辑来确定布局是否已更改。

答案 1 :(得分:0)

我使用的一个例子是:你想知道实际绘制之前的东西的大小。在调用Measure()之前,系统不知道将某些内容绘制到屏幕的实际物理大小。通过调用Measure(),您可以了解其他逻辑取决于它的大小。