标签:它的 created spi 知识点 turn creat view pre 尺寸
上一篇文章我们了解了View的onMeasure,那么今天我们继续来学习Android View绘制三部曲的第二步,onLayout,布局。
private void performLayout(WindowManager.LayoutParams lp, int desiredWindowWidth,
|
这个方法主要的作用就是调用了host.layout,并把已经测绘好的宽高传计算成上下左右递过去,host就是decorView。
public void layout(int l, int t, int r, int b) {
|
protected boolean setFrame(int left, int top, int right, int bottom) {
|
如果是View的话,执行完layout方法,那么他已经布局完成,不过如果是ViewGroup,那么它需要对它的子View进行处理。onLayout主要的作用就是调用layoutChildren,对子View进行布局,所以这里着重介绍layoutChildren。
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
|
到这里就介绍完了View绘制的layout方法。比起measure,layout可是简单多了。不过这里还预留了一些坑,没有交代清楚,比如invalidate,还有RenderNode硬件加速等,以后会写一些笔记专门针对这些知识点做梳理。
Android 视图及View绘制分析笔记之setContentView
View绘制分析笔记之onMeasure
View绘制分析笔记之onLayout
View绘制分析笔记之onDraw
标签:它的 created spi 知识点 turn creat view pre 尺寸
原文地址:http://www.cnblogs.com/dubo-/p/6235752.html