前边已经对View的布局测量和绘制有了一定了解,对于测量和布局在实际操作中也有一些套路可循,如下:

onMeasure

onMeasure主要是测量自身大小和子view的大小,对子view进行遍历,根据业务需求进行大小测量(测量中尽量包含margin),然后根据modesize计算自身大小并调用setMeasuredDimension进行结果保存。

通常情况下在onMeasure中可做如下处理:

  • 测量自身大小

  • 获取测量的值

  • 遍历测量子view尺寸

  • 计算控件宽高

  • 保存测量结果

onLayout

onLayoutlefttoprightbottom的含义如下:

layout参数含义

具体可参见流式布局: xiaow/AndroidPractiseCode: Android 代码练习库 - Gitee.com