前言
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計與策劃設(shè)計,孝南網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:孝南等地區(qū)。孝南做網(wǎng)站價格咨詢:18980820575上一篇文章,筆者詳細講述了View三大工作流程的第一個,Measure流程,如果對測量流程還不熟悉的讀者可以參考一下上一篇文章。測量流程主要是對View樹進行測量,獲取每一個View的測量寬高,那么有了測量寬高,就是要進行布局流程了,布局流程相對測量流程來說簡單許多。那么我們開始對layout流程進行詳細的解析。
ViewGroup的布局流程
上一篇文章提到,三大流程始于ViewRootImpl#performTraversals方法,在該方法內(nèi)通過調(diào)用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; }
網(wǎng)頁標題:AndroidView布局流程(Layout)全面解析-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://www.muchs.cn/article10/dhjdgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、企業(yè)建站、網(wǎng)站收錄、微信小程序、外貿(mào)建站、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)