我正在学习一个自定义组件,我发现方法的view
and有一些不同。例如,有人调用,最后有人使用。区别在哪里?意味着什么?viewgroup
onMeasure()
super.onMeasure
setMeasuredDimension
measureChildren()
这是我第一次来这个社区,希望能得到我想要的答案,谢谢。
我正在学习一个自定义组件,我发现方法的view
and有一些不同。例如,有人调用,最后有人使用。区别在哪里?意味着什么?viewgroup
onMeasure()
super.onMeasure
setMeasuredDimension
measureChildren()
这是我第一次来这个社区,希望能得到我想要的答案,谢谢。
super.onMeasure()
当您想将自定义组件的测量留给您要扩展的超类时使用。例如,假设您正在为多色文本构建自定义 TextView。你真的不想重写onMeasure()
TextView 的实现,因为你没有处理文本的宽度和高度。因此,您可以调用super.onMeasure()
并将测量留给TextView
。
setMeasuredDimension()
万一你必须重写onMeasure()
,你setMeasuredDimension()
用来告诉android视图渲染系统你的自定义视图的最终计算的宽度和高度。视图系统将使用它来渲染您的视图。
measureChildren() 它告诉 this 的孩子
ViewGroup
使用给定的 测量自己MeasureSpec
。
一个非常好的讨论here。