您的位置:首页 > 其它

viewgroup 渲染过程

2014-03-22 11:37 267 查看
参考
http://blog.csdn.net/luoshengyang/article/details/8372924
总体步骤 performTraversals-->measure---->layout----->draw 测量布局渲染

1.measure 测量过程

例子:FrameLayout

measure

测量开始判读是否需要测量

onMeasure

求实际宽度 measureChild调用子布局的 measure方法测量子布局大小,setMeasuredDimension,resolveSize设置布局大小

public static int resolveSize(int size, int measureSpec) {
int result = size;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize =  MeasureSpec.getSize(measureSpec);
switch (specMode) {
case MeasureSpec.UNSPECIFIED:
result = size;
break;
case MeasureSpec.AT_MOST:
result = Math.min(size, specSize);
break;
case MeasureSpec.EXACTLY:
result = specSize;
break;
}
return result;
}


  

2.layout

layout

onlayout

child.layout

3.draw

draw

draw blackgroud

onDraw

dispatchDraw

drawChild
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: