整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为根据之前设置的状态,判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的位置(layout)、以及是否需要重绘(draw),其框架过程如下:(自定义View时,执行postInvalidate()方法就会运行如下三个步骤 )
步骤其实为host.layout()
本文详细介绍了Android中View的绘制流程,包括measure()、layout()和draw()三个主要步骤。measure()过程用于计算View树的实际大小,layout()过程负责放置View到合适的位置,draw()过程则执行实际的绘图操作。在自定义View时,了解这些流程至关重要。通过分析源码和伪代码,揭示了每个步骤的具体实现和递归调用关系。
整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的,该函数做的执行过程可简单概况为根据之前设置的状态,判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的位置(layout)、以及是否需要重绘(draw),其框架过程如下:(自定义View时,执行postInvalidate()方法就会运行如下三个步骤 )
步骤其实为host.layout()
1424
4062

被折叠的 条评论
为什么被折叠?