3

我正在学习一个自定义组件,我发现方法的viewand有一些不同。例如,有人调用,最后有人使用。区别在哪里?意味着什么?viewgrouponMeasure()super.onMeasuresetMeasuredDimensionmeasureChildren()

这是我第一次来这个社区,希望能得到我想要的答案,谢谢。

4

1 回答 1

0

super.onMeasure()

当您想将自定义组件的测量留给您要扩展的超类时使用。例如,假设您正在为多色文本构建自定义 TextView。你真的不想重写onMeasure()TextView 的实现,因为你没有处理文本的宽度和高度。因此,您可以调用super.onMeasure()并将测量留给TextView

setMeasuredDimension()

万一你必须重写onMeasure(),你setMeasuredDimension()用来告诉android视图渲染系统你的自定义视图的最终计算的宽度和高度。视图系统将使用它来渲染您的视图。

measureChildren() 它告诉 this 的孩子ViewGroup使用给定的 测量自己MeasureSpec

一个非常好的讨论here

于 2016-11-19T17:59:30.013 回答