0

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

谢谢。

4

2 回答 2

1

Measure实际上调用onMeasure:

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

在幕后,Measure 本质上缓存了当前值,因此仅在调整元素大小时才调用 onMeasure。这样,您就不需要在 onMeasure 中实现逻辑来确定布局是否发生了变化。

于 2013-10-23T23:43:28.687 回答
0

我使用的一个例子是:你想在实际绘制之前知道它的大小。在调用之前Measure(),系统不知道将如何将某些内容绘制到屏幕上的实际物理尺寸。通过调用Measure(),如果其他逻辑依赖于它,您可以了解某物将有多大。

于 2013-10-23T23:46:03.597 回答