View的绘制流程.md
View的绘制流程,指的就是measure、layout和draw。其中,measure用来测量View的宽和高,layout用来确定View的位置,draw则用来绘制View。
重要角色:
- ViewRootImpl
- MeasureSpec
MeasureSpec解析
- MeasureSpec是View的静态内部类
- 封装了一个View的规格尺寸
- 在Measure流程中,系统会将View的LayoutParams根据父容器所施加的规则转换成对应的MeasureSpec,然后在onMeasure方法中根据这个MeasureSpec来确定View的宽和高。
作为顶层View的DecorView来说,其并没有父容器,那么它的MeasureSpec是如何得来的呢?
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LT的编程笔记!