资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

AndroidView布局流程(Layout)全面解析-创新互联

前言

创新互联是一家专注于网站建设、成都网站设计与策划设计,孝南网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:孝南等地区。孝南做网站价格咨询:18980820575

上一篇文章,笔者详细讲述了View三大工作流程的第一个,Measure流程,如果对测量流程还不熟悉的读者可以参考一下上一篇文章。测量流程主要是对View树进行测量,获取每一个View的测量宽高,那么有了测量宽高,就是要进行布局流程了,布局流程相对测量流程来说简单许多。那么我们开始对layout流程进行详细的解析。

ViewGroup的布局流程

上一篇文章提到,三大流程始于ViewRootImpl#performTraversals方法,在该方法内通过调用performMeasure、performLayout、performDraw这三个方法来进行measure、layout、draw流程,那么我们就从performLayout方法开始说,我们先看它的源码:

private void performLayout(WindowManager.LayoutParams lp, int desiredWindowWidth,
 int desiredWindowHeight) {
 mLayoutRequested = false;
 mScrollMayChange = true;
 mInLayout = true;

 final View host = mView;
 if (DEBUG_ORIENTATION || DEBUG_LAYOUT) {
 Log.v(TAG, "Laying out " + host + " to (" +
  host.getMeasuredWidth() + ", " + host.getMeasuredHeight() + ")");
 }

 Trace.traceBegin(Trace.TRACE_TAG_VIEW, "layout");
 try {
 host.layout(0, 0, host.getMeasuredWidth(), host.getMeasuredHeight()); // 1

 //省略...
 } finally {
 Trace.traceEnd(Trace.TRACE_TAG_VIEW);
 }
 mInLayout = false;
}


网站栏目:AndroidView布局流程(Layout)全面解析-创新互联
链接分享:http://cdkjz.cn/article/dhjdgo.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220