measure()vs onMeasured()vs invalidate()

时间:2018-09-17 13:44:43

标签: android user-interface drawing invalidation measure

在android中,我想更改textView中的一些文本,并要求android重新测量views-tree

我尝试了几种方法,但是不确定它们之间的区别。

1)onMeasure(..)是视图生命周期事件。

我在代码中看到它最终为每个孩子调用measure()

  • 因此,我可以通过调用Java super.onMeasure(..)
  • 来更改文本内容并触发重新测量

2)measure()

 * <p>
 * This is called to find out how big a view should be. The parent
 * supplies constraint information in the width and height parameters.
 * </p>
  • 我可以更改文本内容,然后调用super.measure(),但是我不知道视图如何返回对how big a view should be的答复。

3)要强制绘制视图,请调用invalidate()

如果我致电更改文本并致电onMeasure(),我不会致电invalidate(),但ui仍然正确更改。

为什么我的代码成功避免调用invalidate()

0 个答案:

没有答案