在Android中,所有控件都放置在控件树中,并由view_parent负责管理,绘制前,处于控件树根部的控件开始发起丈量,从上至下计算通过measure函数计算各个控件的大小尺寸,计算方式上父控件会计算自己的大小再传递给子控件,子控件通过自己的需要推算出尺寸大小,如果父控件不知道自己的大小,子控件也可以反向推算给父控件。大小确定后,会再从父控件开始依次调用view.layout计算具体的控件位置和大小,在通过ondraw绘制出来,如果控件大小发生变化,可以手动调用view.requestlayout
或者invalidate重新丈量和绘制。