【问题标题】:what's the difference between view and viewgroup for the method onMeasure()?onMeasure() 方法的视图和视图组有什么区别?
【发布时间】:2016-11-06 23:05:04
【问题描述】:

我正在学习一个自定义组件,我发现viewviewgroup的方法onMeasure()有些不同。例如有人调用super.onMeasure,有人在最后使用setMeasuredDimension。区别在哪里? measureChildren() 是什么意思?

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

【问题讨论】:

    标签: android android-custom-view viewgroup onmeasure


    【解决方案1】:

    super.onMeasure()

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

    setMeasuredDimension()

    如果您必须覆盖onMeasure(),您可以使用setMeasuredDimension() 告诉android 视图渲染系统最终计算出的自定义视图的宽度和高度。视图系统将使用它来渲染您的视图。

    measureChildren() 它告诉这个ViewGroup 的孩子使用给定的MeasureSpec 来衡量自己。

    一个很好的讨论here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 2017-03-18
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      相关资源
      最近更新 更多