美文网首页
View的绘制流程

View的绘制流程

作者: 方_f666 | 来源:发表于2021-04-06 17:43 被阅读0次

View 测量过程&MeasureSpec

ViewRootImpl的layout方法实际调用了performTraversals(),其中调用measureHierarchy(),其中调用getRootMeasureSpec()获取宽高。之后调用performMeasure()。其中调用View.measure()。其中调用View.onMeasure(),可以复写该方法,并调用setMeasureDimension()测量位置。

View layout过程

ViewGroup:调用onLayout(),调用layoutChildren().最后调用子View的layout().

View:在layout(l,t,r,b),调setFrame(l,t,r,b)。

View draw过程

ViewGroup:调用dispatchDraw(Canvas),调用drawChild(),调用子View的draw()。

View:在draw()方法中,绘制自己的内容onDraw(Canvas),绘制子View的内容dispatchDraw(Canvas)。

相关文章

网友评论

      本文标题:View的绘制流程

      本文链接:https://www.haomeiwen.com/subject/hjcekltx.html